![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Не могу разобраться с SQL запросом, почему-то изменяются все строки таблице, а не выбранная в гриде строка?
update OFFICE_CONTACTS set OC_CNTT_ID = ''' + vartostr(DBLookupComboBox1.KeyValue) + ''' where OC_O_ID = '''+ DataModule1.OFFICE_CONTACTS.FieldByName('OC_O_ID') .AsString + '''' |
|
#2
|
|||
|
|||
|
Код:
SQL.Text : = 'update OFFICE_CONTACTS set OC_CNTT_ID = :q where OC_O_ID = :w'
Parameters.ParamByName('q').Value := vartostr(DBLookupComboBox1.KeyValue);
Parameters.ParamByName('w').Value := DataModule1.OFFICE_CONTACTS.FieldByName('OC_O_ID').AsString;попробуй как то так. Последний раз редактировалось DOR, 12.08.2013 в 22:48. |
|
#3
|
|||
|
|||
|
та же фигня, но мне эта конструкция нравится больше
) |
|
#4
|
|||
|
|||
|
вот вся процедура, если нужно:
Код:
procedure TEdit_office_contact.Button1Click(Sender: TObject);
begin
with DataModule1.IBQuery1 do
begin
SQL.Text:= 'update OFFICE_CONTACTS set OC_CNTT_ID = :q where OC_O_ID = :w';
ParamByName('q').Value := vartostr(DBLookupComboBox1.KeyValue);
ParamByName('w').Value := DataModule1.OFFICE_CONTACTS.FieldByName('OC_O_ID').AsString;
Transaction.StartTransaction;
ExecSQL;
Transaction.Commit;
Transaction.Active:=false
end;
DataModule1.OFFICE_CONTACTS.Close;
DataModule1.OFFICE_CONTACTS.Open;
Main.DBGrid4.Columns[0].Visible:=false;
Main.DBGrid4.Columns[1].Width := 200;
Main.DBGrid4.Columns[1].Title.Caption:='Наименование';
Main.DBGrid4.Columns[2].Visible:=false;
Main.DBGrid4.Columns[2].Visible:=false;
Main.DBGrid4.Columns[3].Visible:=false;
Main.DBGrid4.Columns[3].Visible:=false;
end;Последний раз редактировалось sAVe, 13.08.2013 в 23:12. |
|
#5
|
||||
|
||||
|
а ты сделай
Код:
ParamByName('w').Value := DataModule1.OFFICE_CONTACTS.FieldByName('OC_O_ID').AsString;
ShowMessage(ParamByName('w').Value);
Transaction.StartTransaction; |
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
sAVe (25.09.2013)
| ||
|
#6
|
|||
|
|||
|
В сообщении: 1
|
|
#7
|
||||
|
||||
|
соответственно у тебя должны обновиться все поля у которых OC_O_ID = 1.
так и есть? |
| Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
sAVe (15.08.2013)
| ||
|
#8
|
|||
|
|||
|
Ну да, разобрался я
) спасибо! |