如何創建TParameters引數,然后 ADOQuery物件,使用自己創建的TParameters引數。
procedure TForm1.btn_3Click(Sender: TObject);
var
ps:TParameters;
p1,p2,p3:TParameter;
begin
ps:=TParameters.Create(nil,TParameter);
//p1:=ps.CreateParameter( 'f1',ftInteger,pdInput,4,1 );
//p2:=ps.CreateParameter( 'f2',ftString,pdInput,10,'a');
//p3:=ps.CreateParameter( 'f3',ftFloat,pdInput,8,1.3 ); //使用下面的Add也不行
p1:=ps.AddParameter;
p1.Name:='f1';
p1.DataType:=ftInteger;
p1.Direction:=pdInput;
p1.Value:=1;
p2:=ps.AddParameter;
p2.Name:='f2';
p2.DataType:=ftString;
p2.Direction:=pdInput;
p2.Value:='a';
p3:=ps.AddParameter;
p3.Name:='f3';
p3.DataType:=ftFloat;
p3.Direction:=pdInput;
p3.Value:=2.3;
qry1.Close;
qry1.SQL.Clear;
qry1.SQL.Add('insert t3(f1,f2,f3) values(:f1,:f2,:f3)');
//在這里指定qry1中的引數值,為自己創建的引數,因為想把下面的賦值部分,
//寫個通用的方法,這里先做個測驗用
qry1.Parameters.ParamByName('f1').Value:=ps[0].Value;
qry1.Parameters.ParamByName('f2').Value:=ps[1].Value;
qry1.Parameters.ParamByName('f3').Value:=ps[2].Value;
qry1.ExecSQL;
end;
uj5u.com熱心網友回復:
insert into table1(id, name) values(:id, :value)qry1.ParamByName('id').ParamType := ptInput;
qry1.ParamByName('id').DataType := ftInteger;
qry1.ParamByName('id').AsInteger := 123;
qry1.ParamByName('name').ParamType := ptInput;
qry1.ParamByName('name').DataType := ftString;
qry1.ParamByName('name').AsString := '123dd';
上邊這樣滿足要求嗎
uj5u.com熱心網友回復:
不滿足呀我要自己創建引數,比如myParameters,然后給myParameters賦值
然后qry1中的引數,依次用賦值過的myParameters 來給qry1中的引數賦值
uj5u.com熱心網友回復:
你的sql陳述句寫出來肯定知道引數情況
先建立ps(TParameters), 然后賦給query即可
qry1.Parameters := ps
uj5u.com熱心網友回復:
我想把給qry1引數賦值部分 寫個通用的方法preparePara(qry:TADOQuery;params:TParameters)
var
i:integer;
begin
for i:=0 to qry.Parameters.Count-1 do
begin
qry.Parameters[0].Value:=params[0].Value;
end;
end;
類似如此的,所以需要創建params引數 然后傳遞給方法preparePara
uj5u.com熱心網友回復:
自己頂一下 期待高人uj5u.com熱心網友回復:
怎么都沒人回答呀轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/132832.html
標籤:數據庫相關
上一篇:求字符相加的動態庫如何寫?
下一篇:HDBIDB 是句柄嗎?
