pm:=ADOQuery1.Fields[i].AsVariant;
name:=ADOQuery1.Fields[i].FieldName;//保存下当前列的名字和值
self.ADOQuery2.Active:=false; if self.RadioButton2.Checked=True then
self.ADOQuery2.SQL.Text:='select * from 女子七项成绩 where :han>:lin'
else
self.ADOQuery2.SQL.Text:='select * from 男子十项成绩 where :han>:lin' ;
Self.ADOQuery2.Parameters.ParamByName('lin').Value:=pm;
Self.ADOQuery2.Parameters.ParamByName('han').Value:=name;
self.ADOQuery2.Active:=true;每次都提示找不到lin这个变量,请问是我的变量类型设置的有错误吗?还是我的SQL语句写的有问题?
我写“where :han>:lin”这样可以吗?
还有,我老是遇见找不到变量的问题,请问一般都是什么情况会出现这种错误呢?
name:=ADOQuery1.Fields[i].FieldName;//保存下当前列的名字和值
self.ADOQuery2.Active:=false; if self.RadioButton2.Checked=True then
self.ADOQuery2.SQL.Text:='select * from 女子七项成绩 where :han>:lin'
else
self.ADOQuery2.SQL.Text:='select * from 男子十项成绩 where :han>:lin' ;
Self.ADOQuery2.Parameters.ParamByName('lin').Value:=pm;
Self.ADOQuery2.Parameters.ParamByName('han').Value:=name;
self.ADOQuery2.Active:=true;每次都提示找不到lin这个变量,请问是我的变量类型设置的有错误吗?还是我的SQL语句写的有问题?
我写“where :han>:lin”这样可以吗?
还有,我老是遇见找不到变量的问题,请问一般都是什么情况会出现这种错误呢?
ADOQuery1.SQL.Add('select * from bominfo where 字段名=:參數名' );
ADOQuery1.Parameters.ParamByName('參數名').Value:=參數值;
ADOQuery1.Open;
由于循环的每次字段名都是不一样的,比方有100米的,有400米的,所以每次都得临时取,就写成了
:han>:lin,呵呵,没有办法啊,也不知道能不能这样写
self.ADOQuery2.SQL.Text:=
'select * from 女子七项成绩 where ' + name + '=' + QuotedStr(pm)
else
self.ADOQuery2.SQL.Text:=
'select * from 男子十项成绩 where ' + name + '=' + QuotedStr(pm);
self.ADOQuery2.Active:=true;