Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Вниз
Как учесть поле-счётчик в SQL запросе? Найти похожие ветки
← →
Ral'f (2007-06-16 11:19) [0]Добавля новую запись в таблицу "Kontakt" Access:
if ADOQueryCB.Active then ADOQueryCB.Close;
ADOQueryCB.Parameters.Clear;
ADOQueryCB.SQL.Add("INSERT INTO Kontakt (FIO, Telefon) VALUES (:fio, :tel)");
ADOQueryCB.Parameters.ParamValues["fio"] := LabeledEditFIO.Text;
ADOQueryCB.Parameters.ParamValues["tel"] := LabeledEditTel.Text;
ADOQueryCB.ExecSQL;
ADOQueryCB.Close;
Появляется сообщение:
"Ошибка синтаксиса, пропущен оператор 1"
Может проблема в том, что первая колонка в моей таблице - счётчик? Но он же сам должен заполнять поле - "Num"! или нет?
Подскажите, пожалуйста, - как учесть счётчик в своём запросе?
← →
Anatoly Podgoretsky © (2007-06-16 11:22) [1]
// ADOQueryCB.Parameters.Clear;
ADOQueryCB.SQL.Text := запрос
← →
Ral'f (2007-06-16 11:25) [2]Да, смешно!
Но что писать в INSERT?
Kontakt (Num, FIO ---> VALUES ("", :fio
???
← →
Anatoly Podgoretsky © (2007-06-16 11:29) [3]Что написано, то и пиши.
И еще, выкинь ты нафиг этот костыль под названием AdoQuery и используй прямой компонент AdoCommand
← →
sniknik © (2007-06-16 11:30) [4]а с чего ты решил что проблема в неучтенности счетчика? если оно прямо пишет что ошибка синтаксиса...
хотя, на самом деле ошибка конечно не в синтаксисе, это уже последствия, ошибка в том, что используются компоненты "подпорки" вместо "родных". столько лишних действий в коде, а нужное забыл... (тоже лишнее, для "родных"), догадайся что...
а по правильному то же самое гораздо прощеwith ADOCommand do begin
CommandText:= "INSERT INTO Kontakt (FIO,Telefon) VALUES (:fio,:tel)";
Parameters.ParamByName("fio").Value:= LabeledEditFIO.Text;
Parameters.ParamByName("tel").Value:= LabeledEditTel.Text;
Execute;
end;
← →
G_M_S © (2007-06-16 11:39) [5]
> ADOQueryCB.SQL.Add("INSERT INTO Kontakt (FIO, Telefon) VALUES
> (:fio, :tel)");
Если мне не изменяет память, перед этим надо писать:ADOQueryCB.SQL.Close;
← →
Anatoly Podgoretsky © (2007-06-16 11:53) [6]У него написано, зато не понимает как этот костыль работатет.
← →
Ral'f (2007-06-16 12:44) [7]Спасибо!
с "ADOQueryCB.SQL.Text := " всё заработало!
← →
Ral'f (2007-06-16 12:48) [8]как этот костыль работатет
- действительно! Где можно почитать именно про костыль?
(НЕ про SQL запросы, не про компоненты, а - когда (что) нужно открывать, очищать, закрывать)
← →
Anatoly Podgoretsky © (2007-06-16 12:50) [9]> Ral"f (16.06.2007 12:48:08) [8]
Не надо про него читать, про него надо забыть.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c