Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 21:17   #1
DeadWarlock
 
Регистрация: 22.01.2011
Сообщений: 5
По умолчанию Delphi, синтаксис UPDATE

Надо прописать синтаксис процедуры редактировани.(SQL запрос)
Есть готовый рабочий код
Код:
var ADOQuery1:TADOQuery;
std: string;
begin
Form10.Caption:='Редактирование данных студента';
Form10.Edit1.Text:=DataModule2.ADOTable1.fieldByName('ID_C').AsString;
Form10.Edit2.Text:=DataModule2.ADOTable1.fieldByName('FIO').AsString;
Form10.Edit3.Text:=DataModule2.ADOTable1.fieldByName('DateB').AsString;
Form10.Edit4.Text:=DataModule2.ADOTable1.fieldByName('Address').AsString;
Form10.Edit5.Text:=DataModule2.ADOTable1.fieldByName('Tel').AsString;
if (Form10.ShowModal=mrOK)then
  begin
    ADOQuery1:=TADOQuery.Create(Self);
    ADOQuery1.Connection:=DataModule2.ADOConnection1;
    std:='UPDATE Client SET FIO = "'+Form10.Edit2.Text+'", DateB = "'+Form10.Edit3.Text+'",Address = "'+Form10.Edit4.Text+'", Tel = '+Form10.Edit5.Text+' WHERE ID_C ='+Form10.Edit1.Text;
    ADOQuery1.SQL.Text:=std;
    ADOQuery1.ExecSQL;
    Datamodule2.ADOTable1.Active:=false;
    Datamodule2.ADOTable1.Active:=true;
    ADOQuery1.Free;
  end;
end;
и мой:
Код:
var ADOQuery1:TADOQuery;
std: string;
begin
Form6.Caption:='Редактирование';
Form6.Edit1.Text:=DataModule2.ADOTable1.fieldByName('Name').AsString;
Form6.Edit2.Text:=DataModule2.ADOTable1.fieldByName('Janr').AsString;
Form6.Edit3.Text:=DataModule2.ADOTable1.fieldByName('Koli4estvo').AsString;
Form6.Edit4.Text:=DataModule2.ADOTable1.fieldByName('Cena_prokata').AsString;
if (Form6.ShowModal=mrOK)then
  begin
    ADOQuery1:=TADOQuery.Create(Self);
    ADOQuery1.Connection:=DataModule2.ADOConnection1;
    std:='UPDATE kass SET Janr = "'+Form6.Edit2.Text+'", Koli4estvo = "'+Form6.Edit3.Text+'", Cena_prokata = '+Form6.Edit4.Text+' WHERE Name ='+Form6.Edit1.Text;
    ADOQuery1.SQL.Text:=std;
    ADOQuery1.ExecSQL;
    Datamodule2.ADOTable1.Active:=false;
    Datamodule2.ADOTable1.Active:=true;
    ADOQuery1.Free;
    end;
  end;
Выдаёт ошибку - параметр поля Name не имеет значения по умолчанию, что делать даже не знаю((
DeadWarlock вне форума Ответить с цитированием
Старый 07.12.2011, 22:59   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а попробуйте так:
Код:
.... ' WHERE Name ='+QuotedStr( Form6.Edit1.Text );
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис KrockodilL Общие вопросы Delphi 1 21.11.2011 17:08
Синтаксис sql insert delphi detalik БД в Delphi 3 04.05.2011 19:27
Delphi 7 синтаксис sql запроса detalik Помощь студентам 17 07.04.2011 11:11
Синтаксис Delphi Builder --> C++ Builder KingBelt C++ Builder 2 28.11.2010 16:25
Синтаксис запросов в Delphi (TQuery) Lady_olga БД в Delphi 6 25.05.2008 18:09