Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Баг с запросом


Автор: comtat 11.5.2006, 09:25
не могу панять как правильно делать

Код

IBQuery.SQL.Clear;
IBQuery.SQL.Add('INSERT into TREE VALUES (1,сюда,6,6,6,6)');


Как вставить в 'сюда' значение получаемое из TEdit'а ??   

Автор: Fazil6 11.5.2006, 09:47
Код

IBQuery.SQL.Add('INSERT into TREE VALUES (1,''' + TEdit->text + ''',6,6,6,6)');

это для варианта когда из эдита передать нужно строку.
Еще можно через параметры (в хелпе полно примеров на все случаи жизни). 

Автор: vv3 11.5.2006, 09:49
Можно так:
Код

IBQuery.SQL.Add('INSERT into TREE VALUES (1,' + Edit1.Text + ',6,6,6,6)');


Я предлагаю такой вариант:
IBQuery.SQL.Add('INSERT into TREE VALUES (1,:EDIT_PARAM,6,6,6,6)');
в IBQuery.SQL статически прописываем текст запроса :
  INSERT INTO TREE VALUES (1, :EDIT_PARAM, 6, 6, 6, 6) 
  и далее:
Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key <> #13 then Exit; //если пользователь нажал в поле ввода ENTER, то:
  if not IBQuery1.Transaction.Active then IBQuery1.Transaction.StartTransaction;
  IBQuery1.ParamByName('EDIT_PARAM').Value:= Edit1.Text; // присваиваем значение из Edit1 параметру
  IBQuery1.Open; // и выполняем запрос
  IBQuery1.Post; // если очень хочется  :) 
  IBQuery1.Transaction.Commit;
end;
 

Автор: comtat 11.5.2006, 10:23
Спасибо   smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)