vb错误:'String'类型的值无法转换为'System.Data.SqlClient.SqlCommand'

时间:2011-04-11 21:31:08

标签: sql vb.net dataset connection-string

我是一名新手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。只是一个字符串查询。

1 个答案:

答案 0 :(得分:1)

命令文本应该只是Tim提到的存储过程的名称。

看起来您现在遇到的问题是您将CommandType传递给方法GetDevSQLServerStoredProcedure而不是字符串。