Форум: "Базы";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Вниз
не могу сделать INSERT через ADO в MSSQL базу Найти похожие ветки
← →
Добрый (2007-08-26 15:07) [0]помогите плиз, может кто знает! я делаю вот так:
DataModule2.ADOQuery_AddComp.SQL.Add("DECLARE @FIO varchar(50)");
DataModule2.ADOQuery_AddComp.SQL.Add("SET @FIO="+Edit1.Text);
DataModule2.ADOQuery_AddComp.SQL.Add("INSERT INTO RemontPC (FIO, date_priem, Status) VALUES (");
DataModule2.ADOQuery_AddComp.SQL.Add("@FIO,"+DateTimeToStr(Now)+","+"""В ремонте"")");
DataModule2.ADOQuery_AddComp.ExecSQL;
во время выполнения этого запроса вылетает ошибка "Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения". Что не так?
← →
Johnmen © (2007-08-26 15:16) [1]
INSERT INTO RemontPC (FIO, date_priem, Status) VALUES (:FIO, :date_priem, :Status)
Читать справку (Delphi) про параметрические запросы.
← →
Добрый (2007-08-26 15:24) [2]А при чём тут Delphi? Ведь запрос по идее уходит на сервер, и ошибка приходит оттуда, или я не прав?
← →
Johnmen © (2007-08-26 15:52) [3]Я показал, как делать классически, универсально и оптимально, а не через ж...
> А при чём тут Delphi?
Это у тебя надо спросить, почему на сайте дельфистов ты вопрос задаёшь...:)
← →
Добрый (2007-08-26 16:01) [4]ну лан, спасибо, пойду хелп читать)))
← →
MsGuns © (2007-08-26 21:50) [5]DataModule2.ADOQuery_AddComp.SQL.Add("SET @FIO="+QuotedStr(Edit1.Text));
← →
sniknik © (2007-08-26 23:34) [6]MsGuns © (26.08.07 21:50) [5]
не поможет, ошибка в [0] не изза этого, а изза "+DateTimeToStr(Now)+", т.к. присутствуют двоеточия в строке.
в [1] с параметрами самый верный вариант. зачем еще чтото выдумывать?
← →
Добрый (2007-08-27 11:20) [7]итак, мастера, почитал я и сделал вот так:
with DataModule2.ADOQuery_AddComp do begin
SQl.Clear;
SQl.Add("INSERT INTO RemontPC ");
SQl.Add("(FIO, date_in, Status) ");
SQl.Add("VALUES (:FIO, :Date, ""В ремонте"")");
Parameters.ParamByName("FIO").Value := Edit1.Text;
Parameters.ParamByName("Date").Value := DateToStr(Now);
ExecSQL
end;
Теперь все работает!
Большое спасибо!!!
← →
sniknik © (2007-08-27 12:04) [8]вот это - DateToStr лишнее, и чревато ошибками. убери.
а еще замени ADOQuery на ADOCommand.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c