【发布时间】:2011-04-11 21:31:08
【问题描述】:
我是一个新手 VB 程序员,我确信这个解决方案很简单,但是,当我尝试在 SQL Server 中显示我的一个存储过程的结果时,我遇到了上述错误,它不需要任何参数。我该如何解决这个问题?
我的代码摘录:
Dim SQLCmd as SQLCommand = new SQLCommand()
SQLCmd.CommandText = "Exec AllTableCount"
SQLCmd.CommandType = CommandType.StoredProcedure
SQLCmd.Connection = GlobalFunctions.GlobalF.GetDevSQLServerStoredProcedure(SQLCmd.CommandType)
SQLCmd.ExecuteNonQuery()
MsgBox(SQLCmd.ExecuteNonQuery)
GetDevSQLServerStoredProcedure 在不同的文件中定义为:
Public Shared Function GetDevSQLServerStoredProcedure(ByVal SQL As String)
Dim DBConn As SQLConnection
Dim DBCommand As SQLDataAdapter
Dim DSPageData As New System.Data.DataSet
DBConn = New SQLConnection(ConfigurationSettings.AppSettings("AMDMetricsDevConnectionString"))
DBCommand = New SQLDataAdapter(SQL) 'This is the line it errors on'
DBCommand.Fill(DSPageData, "Exceptions")
Return DSPageData
End Function
我可以在服务器资源管理器中看到来自 VS 2008 的这个 SP。所以问题似乎是我不知道如何将数据适配器连接到 SP。只是一个字符串查询。
【问题讨论】:
-
如果您的 StoredProcedure 被称为
AllTableCount,您应该将 SqlCommand 的 CommandText 设置为"AllTableCount"。 -
谢谢,我试过了,但现在它在同一行出错并说:BC30311:'String' 类型的值不能转换为'System.Data.SqlClient.SqlCommand'
标签: sql vb.net dataset connection-string