我正在执行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企业管理器中运行此查询时,我得到一个'无'的值。它是一个有效值,而不是空值。
我该如何解决这个问题?
答案 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