![]() |
|
|
![]()
|
|
| vinvin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2007 Репутация: нет Всего: 1 |
Я хочу обновить поле в базе Access типа Datetime. Вместо обновления записывается пустая дата. Если просто в коде прописать функцию как в закоментированном месте, то все нормально - пишет текущую дату. Как быть, ведь мне нужно писать в поле не текущую дату, а вычисленную.
Кстати, я читал ответ Vita, когда он отвечал про SQL сервер. Там параметр тоже не хотел парситься. Но здесь-то я ничего не парсю, т.е. никаких преобразований из текста - гольная дата и на тебе. Может это ошибка ADO? Это сообщение отредактировал(а) vinvin - 29.9.2007, 22:44 |
|||
|
||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
Старайся не пользоваться компонентом TADOQuery. Он был придуман только, чтобы легко могли перейти с TQuery... Все действия лучше делать с помощью TADOCommand, TADOStoredProc, TADODataSet. Познакомься с ними поближе и поймешь, что многие действия сильно упростяться Это сообщение отредактировал(а) ALeXandrK - 29.9.2007, 22:56 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| vinvin |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2007 Репутация: нет Всего: 1 |
Спасибо, попробую.
Попробовал-пошло. Только там ParseSQL(SQL.Text). Но почему не работал мой код? То есть на поверку есть два кода:
и другой
Первый вариант должен быть более надежным. Там все явно передается. Второй вариант зависит от надежности кода распознавания. И по сути делает то же самое, что и первый код. Но он почему-то не работает первый вариант? Я посмотрел текст ParseSQL. Там просто добавляется параметер методом AddParameter и присваивается ему имя. Не задается ни тип, ни направление. По умолчанию направление получает tdInput а тип ftUnknown. Я попробывал поступить так же, т.е. не задавать тип, а направление задать в tdInput. результат тот же. ВНИМАНИЕ!!! Выяснил. Оказывается не работает строка Value := Now; То есть явный косяк класса TParameter. Работает только Parameters.ParamByName('d1').Value:=Now; Это сообщение отредактировал(а) vinvin - 30.9.2007, 00:41 |
||||
|
|||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
Посмотри еще раз на код, я его изменил.
-------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| vinvin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2007 Репутация: нет Всего: 1 |
Спасибо еще раз.
Заменил Query на Command. Постараюсь вообще избавиться от Query. Ведь для ADO действительно "родными" классами как раз являются DataSet, Command и StoredProc. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |