parameters.ParamByName和parameters.ParamValues的疑惑(请看倒数5至7行)procedure TForm1.Button1Click(Sender: TObject);
var
v_p_name:integer;
begin
screen.Cursor:=crSQLWait;
v_p_name := 6633;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('SELECT a.servid,a.con_id,xie_yi,a.haoma,a.name,a.addr ');
sql.Add('FROM table1 a,table2 b ');
sql.Add('WHERE a.b_id=5 AND NOT a.con_id IS NULL ');
sql.Add('AND a.con_id=b.con_id AND a.con_id =: v_id');
case qu_yu.ItemIndex of //qu_yu ---- 是一个下拉框控件
0:v_p_name := 9645;
1:v_p_name := 10142;
2:v_p_name := 6708;
3:v_p_name := 7422;
4:v_p_name := 10502;
5:v_p_name := 6714;
6:v_p_name := 6705;
end;
// 用下面两句之一都是提示v_id找不到,但是,在其他事件过程中都能正常执行,不知为什么
parameters.ParamByName('v_id').value := v_p_name;
//parameters.ParamValues['v_id']:= v_p_name;
open;
screen.Cursor:=crarrow;
end;
end;
var
v_p_name:integer;
begin
screen.Cursor:=crSQLWait;
v_p_name := 6633;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('SELECT a.servid,a.con_id,xie_yi,a.haoma,a.name,a.addr ');
sql.Add('FROM table1 a,table2 b ');
sql.Add('WHERE a.b_id=5 AND NOT a.con_id IS NULL ');
sql.Add('AND a.con_id=b.con_id AND a.con_id =: v_id');
case qu_yu.ItemIndex of //qu_yu ---- 是一个下拉框控件
0:v_p_name := 9645;
1:v_p_name := 10142;
2:v_p_name := 6708;
3:v_p_name := 7422;
4:v_p_name := 10502;
5:v_p_name := 6714;
6:v_p_name := 6705;
end;
// 用下面两句之一都是提示v_id找不到,但是,在其他事件过程中都能正常执行,不知为什么
parameters.ParamByName('v_id').value := v_p_name;
//parameters.ParamValues['v_id']:= v_p_name;
open;
screen.Cursor:=crarrow;
end;
end;
parameters.ParamByName('v_id').value := v_p_name;
或
parameters.ParamValues['v_id']:= v_p_name;
系统是提示v_id找不到?