2011-04-11 101 views
0

我是一個新手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。只是一個字符串查詢。

+1

如果您的StoredProcedure的名字叫做'AllTableCount'你應該設置的SqlCommand的CommandText給' 「AllTableCount」'。 – 2011-04-11 21:40:07

+0

感謝我試過,但現在它在同一行的錯誤,並說:BC30311:類型「字符串」的值不能轉換爲「System.Data.SqlClient.SqlCommand」 – salvationishere 2011-04-11 23:32:12

回答

1

命令文本應該只是蒂姆中提到的存儲過程的名稱。

它看起來像你現在遇到的問題是,你passinging將CommandType到你的方法,而不是GetDevSQLServerStoredProcedure的字符串。

+0

謝謝,但我看到現在的問題是,這個新功能不是名稱空間的一部分,即使我將它添加到名稱空間。名稱空間是否有頭文件?我無法在此解決方案中找到包含此名稱空間定義的任何其他文件。 (我搜索瞭解決方案)。 – salvationishere 2011-04-12 01:09:49

相關問題