Ошибка данных SQL «Значение не может быть пустым». - PullRequest
0 голосов
/ 17 октября 2011

Я выполняю 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)

Ошибка возникает в daHost.Fill(dtHost)
Когда я запускаю этот запрос в диспетчере SQL EnterpriseЯ получаю значение «Нет».Это допустимое значение, а не нулевое значение.

Как мне решить эту проблему?

Ответы [ 2 ]

5 голосов
/ 17 октября 2011

удалить последние ' в вашем заявлении

Я думаю, это должно читаться так:

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

И создайте экземпляр вашей DataTable перед ее передачей:

Dim dtHost As DataTable = new DataTable()
1 голос
/ 17 октября 2011
select Host.AppName from HostBase where HostBase.appid=0

Похоже, вы смешиваете имена таблиц, когда ссылаетесь только на одну таблицу: HostBase. Вы не можете использовать table: Host в этом запросе, не включив его в какое-то соединение (даже если оно превратилось в декартово произведение). Это изменение.

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

Поставьте разрыв и посмотрите точное значение строковой переменной: strSQLHost

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...