![]() |
|
|
Регистрация | << Правила форума >> | 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; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
sAVe (25.09.2013)
|
#6
|
|||
|
|||
![]() В сообщении: 1
|
#7
|
||||
|
||||
![]() соответственно у тебя должны обновиться все поля у которых OC_O_ID = 1.
так и есть? Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
sAVe (15.08.2013)
|
#8
|
|||
|
|||
![]() Ну да, разобрался я
![]() |