VB错误:类型“字符串”的值不能转换为“System.Data.SqlClient.SqlCommand”
问题描述:
我是一个新手VB程序员,我相信这个解决方案是微不足道的,但是,我得到上述错误当我尝试显示在SQL Server中我存储的特效,并不需要任何参数的一个结果。我怎样才能解决这个问题?VB错误:类型“字符串”的值不能转换为“System.Data.SqlClient.SqlCommand”
我的代码摘录:
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
我可以在服务器资源管理器看到从2008年VS此SP。所以问题似乎是我不知道如何将数据适配器连接到SP。只是一个字符串查询。
答
命令文本应该只是蒂姆中提到的存储过程的名称。
它看起来像你现在遇到的问题是,你passinging将CommandType到你的方法,而不是GetDevSQLServerStoredProcedure的字符串。
+0
谢谢,但我看到现在的问题是,这个新功能不是名称空间的一部分,即使我将它添加到名称空间。名称空间是否有头文件?我无法在此解决方案中找到包含此名称空间定义的任何其他文件。 (我搜索了解决方案)。 – salvationishere 2011-04-12 01:09:49
如果您的StoredProcedure的名字叫做'AllTableCount'你应该设置的SqlCommand的CommandText给' “AllTableCount”'。 – 2011-04-11 21:40:07
感谢我试过,但现在它在同一行的错误,并说:BC30311:类型“字符串”的值不能转换为“System.Data.SqlClient.SqlCommand” – salvationishere 2011-04-11 23:32:12