SQL Datatable错误“值不能为空”。

时间:2011-10-16 21:51:29

标签: asp.net sql datatable

我正在执行sql查询,我收到错误值不能为null。 参数名称: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)

错误发生在daHost.Fill(dtHost)
当我在SQL企业管理器中运行此查询时,我得到一个'无'的值。它是一个有效值,而不是空值。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

删除您声明中的最后一个'

我认为它应该是这样的:

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

在传递之前实例化你的DataTable:

Dim dtHost As DataTable = new DataTable()

答案 1 :(得分:1)

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

当你只引用一个表时,好像你正在混合表名:HostBase。你不能在这个查询中使用table:Host而不将它包含在某种连接中(即使它变成了笛卡尔积)这就是改变。

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

休息一下,看看字符串变量的确切值:strSQLHost