ADO - работа с датой? #203517


#0 by Mrs
Имеются парадоксовские таблицы, подключаюсь к ним через АДО:      ... создаю следующий запрос: CMD.Commandtext = " интересует формат синтаксиса с полями типа "Дата", кто сталкивался помогите.
#1 by 774816
в принцепе у каждой базы свои заморочки по типам значений для ацеса пойдет такой вариант AND DateCalc =Cdate('" + Дата+ "') для скуля  Convert можно еще попробовать так AND DateCalc =#" + Дата + "#"
#2 by dk
Не так уж и много этих форматов давно бы уже перепробовал и нашел Имхо еще проще: сделать запрос, вытянуть поле с датой, конвертнуть в строку и увидишь формат
#3 by 774816
так работает в парадокс  5x DateCalc =Cdate('" + Дата + "')
#4 by kiruha
#5 by Mrs
Умник ты наш, может перечислишь парочку, я и перепробую?
#6 by Mrs
Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Paradox Driver] Too few parameters. Expected 1.
#7 by Mrs
Пробую как ты написал: ошибку выдает: Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Paradox Driver] Too few parameters. Expected 1.
#8 by 774816
введи в определенную дату для проверки DateS = Cdate('19.05.06')
#9 by kiruha
Через преобразование к строке не хочешь? и сравнивать строковые значения в условии.
#10 by orefkov
Для Фокспро использовал Вроде как это канонническое для ODBC представление даты, так что может и с парадоксом прокатит
#11 by kiruha
В Парадоксе кажется в дате еще и время зашито
#12 by Mrs
Не идет - тоже самое проходит только преобразование к числу дней прошедших с 30.12.1899 (установил опытным путем) типа: результат: Syntax error in query expression 'Sm.IDApart=A.ID AND Sm.Summa > 0 AND DateS = d2005-10-10}'.
#13 by Mrs
Кто работал с парадоксовскими таблицами через АДО, отзовитесь! Не дайте умереть молодым!
#14 by Старуха Юзергиль
Тоже бы хотелось ссылочку на эл. учебник по АДО Заранее спасибо Целую СЮ
#15 by 774816
если можешь кинуть мне на мыло или хотя бы пустую базу попробую тебе помочь
#16 by 774816
Если у тебя CMD это адо комманд то он не нужен, лучше сразу ввести выборку в рекордсет Сообщить(.Fields("DateCalc").Type); какое число выводит ?
#17 by Mrs
Выводит 135. Таблицу слать?
#18 by 774816
infoprograms(Собака)mail.ru если сегодня не успею завтра точно просмотрю
#19 by 774816
135 формат Даты
#20 by Mrs
Посылку отправил, жду ответа.
#21 by 774816
твоя база не окрывается у меня ни через адо ни через дао не правельный формат данных, у тебя такая проблемма не возникала как ты просто просматривал данные через какой утилит и принцепильно ли использование этой базы ?
#22 by drumov
Попробуй передавать в формате mm/dd/yyyy В старых версия - это был формат по умолчанию.
#23 by karek
Попробуй использовать параметр в запросе. Насколько я помню, АДО такое позволяет:     ' Prepare command since we will be executing it more than once. objCmd.Prepared = True     ' Create new parameter for CustomerID. Initial value is ALFKI.
#24 by Mrs
Использование именно этой базы принципиально, на компе установлен БДЕ борландовский, смотрю плагином к тоталу Universal Database Viewer А как его записать 'mm/dd/yyyy'/{mm/dd/yyyy} не идет можно прокомментировать вторую половину? невкурю никак
#25 by karek
Это не вторая половина, это просто движок форума так разбил по блокам. А смысл в том, что в запросе ты указываешь не значение, а параметр (через символ "?"), потом создаешь объект Параметр: здесь тебе надо указать правильный Type, скорее всего какой-то из: Потом добавляешь свой параметр в список параметров объекта Command: Это все есть в документашке по АДО.
#26 by karek
То есть будет что-то вроде Ну и взапросе
#27 by Mrs
Спасибо за наводку! Буду пробывать, завтра отпишу. Кстати а ссылкой на документашку не поделишься?
#28 by karek
[1C]] :) и еще она есть в поставке SQL-сервера, Books online
#29 by Konst999
А к какой БД (программе) подключаешься?
#30 by Mrs
БД - парадокс, версия хез, программа на дельфи, базу эту юзает через бде
#31 by Билли Г
Парадоксовский драйвер может кушать дату в таком виде: #dd/mm/yyyy# или в таком: {d'yyyy-mm-dd'}
#32 by 774816
Установил делфи 7 теперь работает   Высылаю готовый иртешник с кодом  все работает, как я и писал использется Cdate Подправил твой запрос и не много адошку
#33 by Origami
Канонический в 1Се безопаснее всего формировать так (чтоб не натыкаться на всевозможные грабли с разными представлениями/региональными установками): Таким образом сформированный ДатаВADO ADO по идее с любым источником должна скушать и не поперхнуться.
#34 by Mrs
Интересно, а связана ли работоспособность АДО с парадоксовскими базами с/не установленным БДЕ? Вроде как АДО пабарабану должно быть или я ошибаюсь?
#35 by 774816
тут дело не в адо а в соединении , возможно другая версия или обнавленная версия со своим сервиспаком для парадокса или дрова новые именно для этой версии парадокса. косяки есть везде иэртешник Проверил?
#36 by Mrs
Работают оба способа! Работает, а почему именно такой способ разбора даты на Год/месяц/день? Быстродейственней чем ДатаГод/ДатаМесяц/ДатаЧисло? Проверил - все чудесно работает! Теперь у меня есть 3 проверенных способа работы с датой! 2All: Всем спасибо за помощь и участие!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С