![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не могу сделать INSERT через ADO в MSSQL базу [D6, MSSQL]
Добрый © (2007-08-26 15:07:00)помогите плиз, может кто знает! я делаю вот так:
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. Предоставлены несовместимые или неполные сведения". Что не так?
sniknik (2007-08-27 12:04:00) [1]вот это - DateToStr лишнее, и чревато ошибками. убери.
а еще замени ADOQuery на ADOCommand.
Добрый (2007-08-27 11:20:00) [2]итак, мастера, почитал я и сделал вот так:
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-26 23:34:00) [3]MsGuns © (26.08.07 21:50) [5]
не поможет, ошибка в [0] не изза этого, а изза '+DateTimeToStr(Now)+', т.к. присутствуют двоеточия в строке.
в [1] с параметрами самый верный вариант. зачем еще чтото выдумывать?
MsGuns (2007-08-26 21:50:00) [4]DataModule2.ADOQuery_AddComp.SQL.Add('SET @FIO='+QuotedStr(Edit1.Text));
Добрый (2007-08-26 16:01:00) [5]ну лан, спасибо, пойду хелп читать)))
Johnmen (2007-08-26 15:52:00) [6]Я показал, как делать классически, универсально и оптимально, а не через ж...
> А при чём тут Delphi?
Это у тебя надо спросить, почему на сайте дельфистов ты вопрос задаёшь...:)
Добрый (2007-08-26 15:24:00) [7]А при чём тут Delphi? Ведь запрос по идее уходит на сервер, и ошибка приходит оттуда, или я не прав?
Johnmen (2007-08-26 15:16:00) [8]
INSERT INTO RemontPC (FIO, date_priem, Status) VALUES (:FIO, :date_priem, :Status)
Читать справку (Delphi) про параметрические запросы.