Query参数parameter的操作
一、静态设置
1. 设置参数
2. 设置sql
注意:=:与cxybm中间是不能有空格的,否则报错(这个错误搞得我好晕)
二、动态设置
procedure TForm1.Button1Click(Sender: TObject);
var
czybm : TParameter;
begin
//参加参数及设置属性
//ADOQuery1.Parameters.Clear;
try
czybm := ADOQuery1.Parameters.AddParameter;
czybm.DataType := ftString;
czybm.Direction := pdInput;
//czybm.Value := '001'; 这样赋值是错误的
//ADOQuery1.Parameters.ParamByName('czybm').Value := '001'; //这里赋值是错误的
//ShowMessage(IntToStr(ADOQuery1.Parameters.Count));
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from tb_czyda where f_czybm =:czybm');
//czybm.Value := '001'; 这样赋值是错误的
ADOQuery1.Parameters.ParamByName('czybm').Value := '001'; //这里用ParamByName赋值才是正确的
//ADOQuery1.Parameters.FindParam('czybm').Value := '001'; //用FindParam也正确
ADOQuery1.Prepared := true; //可以提高程序的执行效率
ADOQuery1.Open;
finally
//czybm.Free; //不正确
ADOQuery1.Parameters.ParamByName('czybm').Free;
//ADOQuery1.Parameters.FindParam('czybm').Free; //也正确
end;
end;
该代码在Windows 2000 + delphi 6 通过