Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Проблема с insert   Найти похожие ветки 

 
Timur   (2004-06-16 22:41) [0]

Здравствуйте.
Такой код:
with Data.ADOQuery do
 begin
   Close;
   SQL.Clear;
   SQL.Add("insert into Payments (ID_Client, Date, Sum) values (21, "12.06.2004", 120)");
   ExecSQL;
 end;

Выдает ошибку Syntax error in INSERT INTO statment. Сам код вроде правильный. Что не так? (Delphi6, Access)


 
YurikGL ©   (2004-06-16 22:59) [1]

Попробуй
   SQL.Add("insert into Payments (ID_Client, Date, Sum)
values (21, #39+"12.06.2004"+#39, 120)");


 
YurikGL ©   (2004-06-16 23:01) [2]

Что-то не выспался.

Вот это имел в виду
   SQL.Add("insert into Payments (ID_Client, Date, Sum)
 values (21, "+#39+"12.06.2004"+#39+", 120)");


 
sniknik ©   (2004-06-16 23:29) [3]

используй лучше параметры

если же править этот запрос то
SQL.Add("insert into Payments (ID_Client, Date, Sum) values (21, #12/06/2004#, 120)");
а что у тебя день а что месяц?
попробуй положи две даты #13/06/2004# и #06/13/2004# и посмотри что получится, будеш "прииятно" удивлен. и может быть всетаки будеш использовать параметры, они однозначны + еще пара достоинств.


 
Timur   (2004-06-17 15:33) [4]

Спасибо за внимание.
Ни один из вышеперечисленных вариантов не работает. Результат тот же. Мне все это надоело, и я сделал так:
PaymentsSource.DataSet.InsertRecord([nil, 21, "06.13.2004", 120]);
Так работает.

To sniknik:
"Параметры" это что? Как я сделал?
И еще: сначала идет день, потом месяц. Иначе выдаст ошибку.


 
Yarik ©   (2004-06-17 16:36) [5]

ShortDateFormat:= "dd.mm.yyyy"


 
sniknik ©   (2004-06-17 17:27) [6]

> "Параметры" это что? Как я сделал?
нет. параметры это другое, посмотри на компоненте parameters, ну и дальше справка F1.

> И еще: сначала идет день, потом месяц. Иначе выдаст ошибку.
зависит от того какого провайдера используеш, + локальные настройки.

> Ни один из вышеперечисленных вариантов не работает.
и ошибок естественно не выдает, просто не работает. (не верю) у тебя кроме даты в запросе 2 зарезервированных слова (нельзя использоват), на это просто внимания не обратил, просто всегда с датой в аксессе проблемы. YurikGL видиш тоже в это первым делом уперся.
если бы привел текст ошибки уверен было бы проще. (иногда достаточно просто перевести) но для многих конечно этот текст ничего не значит, так, выскакивает, блаж борланда, пропустить и забыть.


 
Паниковский ©   (2004-06-18 07:39) [7]

Мое IMHO кастинг делать надо
1
SQL.Add("insert into Payments (ID_Client, Date, Sum) values (21, DATE("12.06.2004"), 120)");

2
  SQL.Add("insert into Payments (ID_Client, Date, Sum) values (21,CAST("12.06.2004" as DATE), 120)");



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
8-1083581189
Pavel
2004-05-03 14:46
2004.07.18
Заголовки OpenGl


1-1089133875
YChak
2004-07-06 21:11
2004.07.18
Динамический массив.


3-1088072924
Valeri
2004-06-24 14:28
2004.07.18
Восстановить записи таблицы FoxPro (for Windows)


3-1088067653
serg128
2004-06-24 13:00
2004.07.18
Как по нажатию кнопки выбрать (multiselect) все строки в DBGrid?


14-1088412776
Dmitriy O.
2004-06-28 12:52
2004.07.18
А тут есть еще кто либо из Ярославля ?