Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: проблема Null при запросе Добавлено: 15.05.07 10:11  

Автор вопроса:  vldmir
подскажите пожалуйста
пишу запрос, хочу вывести все поля которые без даты: select * from TABLE1 where DATE1=Null;
ничего не выдает, хотя в базе пустые даты присутсвуют

код:

Dim connDB As New ADODB.Connection
Dim rs As New Recordset
Dim myQuery As New Command

rs.CursorType = adOpenDynamic
rs.CursorLocation = adUseClient

p_drv = "DRIVER=Microsoft dBase Driver (*.dbf)"
p_ext = "UID=admin;UserCommitSync=Yes;Threads=3;Statistics=0;SafeTransactions=0;PageTimeout=600;MaxScanRows=8;MaxBufferSize=2048;FIL=dBase III;DriverId=21;Deleted=1;CollatingSequence=ASCII;DefaultDir=" & App.Path & "\tmp" & ";MSJET=Y;"
connDB.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=True;" & p_drv & ";Extended Properties=""" & p_ext & """"
connDB.Open

myQuery.ActiveConnection = connDB
txt_sql="select * from TABLE1 where DATE1=Null;"
myQuery.CommandText = txt_sql
Set rs = myQuery.Execute(1)

Debug.Print rs.RecordCount

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 APolyakov



Вопросов: 1
Ответов: 15
 Web-сайт: edu.chukotka.ru
 Профиль | | #1
Добавлено: 15.05.07 11:02
Попробуй
txt_sql="select * from TABLE1 where DATE1='';"

Ответить

Номер ответа: 2
Автор ответа:
 APolyakov



Вопросов: 1
Ответов: 15
 Web-сайт: edu.chukotka.ru
 Профиль | | #2
Добавлено: 15.05.07 11:05
txt_sql="select * from TABLE1 where DATE1='';"

После знака равно пустые одинарные кавычки, либо
txt_sql="select * from TABLE1 where DATE1=" & Char(34) & Char(34) &";"

Ответить

Номер ответа: 3
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #3 Добавлено: 15.05.07 11:41
Ошибка

Run-time error '-2147467259 (80004005)':
[Microsoft][Дpaйвep ODBC dBase] Hecooтвeтcтвиe типoв дaнныx в выpaжeнии ycлoвия oтбopa.

Ответить

Номер ответа: 4
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #4 Добавлено: 15.05.07 11:42
txt_sql="select * from TABLE1 where DATE1=" & Char(34) & Char(34) &";"


не пойдет, т.к. запросы храню в отдельном файле

Ответить

Номер ответа: 5
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #5 Добавлено: 15.05.07 11:46
с двойными кавычками тоже ошибка
Run-time error '-2147217904 (80040e10)':
[Microsoft][Дpaйвep ODBC dBase] Cлишкoм мaлo пapaмeтpoв. Tpeбyeтcя 1.

Ответить

Номер ответа: 6
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #6 Добавлено: 15.05.07 11:57
кстати если так
select * from TABLE1 where DATE1<>Null;

то выводит нормально, без пустых дат
но нужно именно наоборот, что уже придумать и не знаю

Ответить

Номер ответа: 7
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #7 Добавлено: 15.05.07 12:00
придумал :)
надо вот так
select * from TABLE1 where NOT DATE1<>Null;

всем спасибо за внимание! :)

Ответить

Номер ответа: 8
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #8 Добавлено: 15.05.07 12:36
придумал :)

Бред придумал.
От нежелания читать документацию (и от советов тех, кто также не желает читать документацию).

where DATE1 IS Null

Ответить

Номер ответа: 9
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #9 Добавлено: 15.05.07 13:21
чесное слово я так пробовал
в DataEnvironment пробовал точ так же - не работает
вот полученный запрос:
SELECT table1.*
FROM table
WHERE date1 IS NULL

совсем запутался, в DataEnvironment не работает а через Command работает, ничччо не понимаю
попробуйте сами

Ответить

Номер ответа: 10
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #10 Добавлено: 15.05.07 14:15
DataEnvironment

Не используй всякие костыли. Им самим костыли нужны.

Ответить

Номер ответа: 11
Автор ответа:
 Иван



Вопросов: 34
Ответов: 53
 Web-сайт: www.harami.ru
 Профиль | | #11
Добавлено: 06.11.07 15:09
Глубокоуважаемый GSerg совершенно прав: не используйте DataEnvironment и т.п. Соединяйтесь с базой данных при помощи кода.
Помните, что если подключение к БД ADO (что рекомендуется), то: 1) в запросах не будет работать оператор NOT; 2) в шаблонах поиска вместо знака звездочки надо использовать %, а вместо знака вопроса — знак подчеркивания.

Ответить

Номер ответа: 12
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #12 Добавлено: 06.11.07 17:30
Сенкью уважаемый Иван ... :)
Но, ... раз уж я тут :) ..., на данный момент у меня другие вопросы, как передать данные контролом inet
inet1.Execute url, "POST", "a=data", "Content-Type: multipart/form-data"
либо передать целый файл
так не пойдет: inet1.openURL "http://sss/?a=data"
справку читал MSDN2000, но мало чего в ней есть, только команды для FTP, примеры тоже по FTP
вот это хочу сделать
<form method="POST" enctype="multipart/form-data" action="a.php">
<p><textarea rows="2" name="a" cols="20"></textarea><input type="submit" value="Отправить" name="B1"><input type="reset" value="Сброс" name="B2"></p>
</form>

или же напрямую сокетом передавать? ;)

Ответить

Номер ответа: 13
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #13 Добавлено: 09.11.07 10:01
Через WinSock буду делать :)
как раз нашел в форуме подходящую тему, да и в справках все есть :)
новую систему высылки отчетов за 2 мес надо сделать, времени нет на раздумья

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам