Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / AdoDB как наложить ограничение по дате и избавится от кразябликов / 18 сообщений из 18, страница 1 из 1
10.03.2010, 12:50
    #36511262
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
Доброе время суток, скур и слебядей!

Делаю запрос к DBF
cnn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};DriverID=21;DBQ=" & DirPath & ";DefaultDir=" & DirPath & "\"
cnn.Open
Set r = cnn.Execute(" select RTrim(Sc160.Descr), RTrim(Sc135.Descr), Sum, DATE from 1sentry, Sc160, SC135 where DTSC0 = Sc160.Id and DTSC1 = SC135.Id and accdtid = ' 20 ' and date < {01.02.2010}")

но не могу наложить ограничение по дате - не знаю, какие ставить ограничители.
и сам select вместо читаемых русских букв возвращает "LєфшЄ-LэшёхЁтшё"

Как наложить ограничение по дате и избавится от кракозябликов ?

Удачи!
...
Рейтинг: 0 / 0
10.03.2010, 13:14
    #36511352
Nike78
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
выбери collationig sequence= ASCI
...
Рейтинг: 0 / 0
10.03.2010, 13:47
    #36511473
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
поставил:
cnn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};DriverID=21;CollatingSequence=ASCII;DBQ=" & DirPath & ";DefaultDir=" & DirPath & "\;"

результат не изменился
...
Рейтинг: 0 / 0
10.03.2010, 13:48
    #36511476
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
ASCI - так же ничего
...
Рейтинг: 0 / 0
10.03.2010, 14:53
    #36511762
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
Измученный, стал подключаться так:
cnn.Open "Provider=vfpoledb.1;data source=" & DirPath & "\;"
более того, дату можно заключать в {}, но почему то условие
... and Date >= {2009.12.01} and Date <= {2009.12.31}")
и
... and Date >= {01.12.2009} and Date <= {31.12.2009}")

не возвращает результата, хотя условие
... and Month(DATE) =12 and year(DATE) = 2009

результат возвращает.

Что может быть? Как правильно задавать дату через ADO ?
...
Рейтинг: 0 / 0
10.03.2010, 16:29
    #36512109
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
тут не АДО рулит, а драйвер
посмотрите как задают дату в ветке по FoxPro

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
10.03.2010, 18:28
    #36512524
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
HandKot, попробуйте оформить дату как строковое значение - заключить её в одинарные кавычки.
...
Рейтинг: 0 / 0
10.03.2010, 21:44
    #36512790
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
Чего мучиться? Используй переменную
Код: plaintext
Where dt=Date()-n

Пусть драйвер сам переводит в нужный формат.
...
Рейтинг: 0 / 0
10.03.2010, 22:05
    #36512819
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
SuperJurКак правильно задавать дату через ADO ?Правильно задавать дату через ADO - никак, ADO это враппер.

Правильно задавать дату через ODBC:
Код: plaintext
Select * from SomeTable where SomeDateField = {d 'yyyy-mm-dd'}
подробнее читать букварь: http://msdn.microsoft.com/en-us/library/ms712360%28VS.85%29.aspx
...
Рейтинг: 0 / 0
11.03.2010, 08:37
    #36513057
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
а еще лучше использовать запрос с параметрами, тогда вообще никогда никаких проблем не будет ни с одним драйвером

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
11.03.2010, 09:54
    #36513163
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
HandKot, как я могу использовать запрос с параметрами, если у меня база в DBF лежит ?
...
Рейтинг: 0 / 0
11.03.2010, 11:39
    #36513509
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
SuperJur, ну тебе предложили много вариантов.
...
Рейтинг: 0 / 0
11.03.2010, 12:01
    #36513589
SuperJur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
F, я уже понял, что мне лучше перевести базу на SQL. В DBF по сетке данные обрабатываются слишком долго.
...
Рейтинг: 0 / 0
11.03.2010, 12:09
    #36513611
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
SuperJurF, я уже понял, что мне лучше перевести базу на SQL. В DBF по сетке данные обрабатываются слишком долго.

Значит, не задействованы индексы.
...
Рейтинг: 0 / 0
11.03.2010, 18:17
    #36514915
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
FSuperJurF, я уже понял, что мне лучше перевести базу на SQL. В DBF по сетке данные обрабатываются слишком долго.Значит, не задействованы индексы.И чем по твоему мнению индексы помогут? Если он до дбф ходит по сети, он и к индексу будет ходить по сети.
...
Рейтинг: 0 / 0
11.03.2010, 18:39
    #36514969
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
А к серверу по чему?

Сеть и там, и там. Значит, должны помочь индексы.
...
Рейтинг: 0 / 0
11.03.2010, 21:24
    #36515267
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
FА к серверу по чему?

Сеть и там, и там. Значит, должны помочь индексы.А сервер не будет гонять ВЕСЬ индекс по сети и уж тем более не будет гонять по сети ВЕСЬ файл данных. Сервер получит запрос и выдаст только подходящие под запрос строки.
Короче говоря, читай учебник. Разницу между файловой и клиент-серверными базами.
...
Рейтинг: 0 / 0
11.03.2010, 21:34
    #36515280
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AdoDB как наложить ограничение по дате и избавится от кразябликов
Заблуждение.
Не знаю, как в случае с драйвером, но фокспрошный клиент тоже не будет гонять весь файл по сети. Он загрузит только нужные страницы.
По идее, драйвер должен работать также.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / AdoDB как наложить ограничение по дате и избавится от кразябликов / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]