2011-10-16 61 views
0

我執行一個SQL查詢,我得到一個錯誤值不能爲空。 參數名:dataTable的SQL Datatable錯誤「值不能爲空」。

代碼:

   strSQLHost = "select HostBase.AppName from HostBase where HostBase.appid=0" 
       Dim dtHost As DataTable 
       Dim daHost As SqlDataAdapter = New SqlDataAdapter(strSQLHost, conn) 
       daHost.Fill(dtHost) 

當我運行在SQL企業管理器這個查詢在daHost.Fill(dtHost)
出現的錯誤,我得到 '沒有' 的值。這是一個有效的值,而不是空值。

我怎樣才能解決這個問題?

回答

5

刪除對帳單上的最後'

我想應該這樣寫:

strSQLHost = "select Host.AppName from HostBase where HostBase.appid=0" 

並使其在之前實例化你的數據表:

Dim dtHost As DataTable = new DataTable() 
+1

豈不只是把該行的其餘部分置入評論? – JeffO

+0

lcarus,這是一條評論專欄。我確實刪除了它,但沒有運氣 – Frank

+0

@JeffO OP更新了他的問題。他之後的appid = 0'''正確的,我想他的意思來連接dmRow的輸出(‘APPID’)或類似的東西,他寫了最初 – Icarus

1
select Host.AppName from HostBase where HostBase.appid=0 

似乎就像您在僅引用一個表格時混合表名稱一樣:HostBase。在此查詢,而不包括其在排序的一些連接(即使它變成了笛卡爾積)這是改變主持人:你不能使用表。

select HostBase.AppName from HostBase where HostBase.appid=0 

把休息,看到字符串變量的準確值:strSQLHost

+0

對不起......這是我在原始文章中的一個錯字 – Frank