Страница: 1 |
Страница: 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-сайт:
Профиль | | #1
Добавлено: 15.05.07 11:02
Попробуй
txt_sql="select * from TABLE1 where DATE1='';"
Номер ответа: 2
Автор ответа:
APolyakov
Вопросов: 1
Ответов: 15
Web-сайт:
Профиль | | #2
Добавлено: 15.05.07 11:05
После знака равно пустые одинарные кавычки, либо
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
не пойдет, т.к. запросы храню в отдельном файле
Номер ответа: 5
Автор ответа:
vldmir
Вопросов: 6
Ответов: 16
Профиль | | #5
Добавлено: 15.05.07 11:46
с двойными кавычками тоже ошибка
[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
кстати если так
то выводит нормально, без пустых дат
но нужно именно наоборот, что уже придумать и не знаю
Номер ответа: 7
Автор ответа:
vldmir
Вопросов: 6
Ответов: 16
Профиль | | #7
Добавлено: 15.05.07 12:00
придумал
надо вот так
всем спасибо за внимание!
Номер ответа: 8
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #8
Добавлено: 15.05.07 12:36
Бред придумал.
От нежелания читать документацию (и от советов тех, кто также не желает читать документацию).
Номер ответа: 9
Автор ответа:
vldmir
Вопросов: 6
Ответов: 16
Профиль | | #9
Добавлено: 15.05.07 13:21
чесное слово я так пробовал
в DataEnvironment пробовал точ так же - не работает
вот полученный запрос:
FROM table
WHERE date1 IS NULL
совсем запутался, в DataEnvironment не работает а через Command работает, ничччо не понимаю
попробуйте сами
Номер ответа: 10
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #10
Добавлено: 15.05.07 14:15
Не используй всякие костыли. Им самим костыли нужны.
Номер ответа: 11
Автор ответа:
Иван
Вопросов: 34
Ответов: 53
Web-сайт:
Профиль | | #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
вот это хочу сделать
<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 мес надо сделать, времени нет на раздумья