procedure TForm1.Button3Click(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.SQL.add('select * from test where name=''小张''');
adoquery1.ExecSQL;
adoquery1.Open ;
if adoquery1fld.Value='a' then
   radiobutton1.checked:=true
else
    radiobutton2.checked:=true;end;end.现在的问题是:无论fld这个字段是'a'还是'b',结果总是radiobutton2被选中.我是新手大家帮我分析一下,到底在哪个环节有可能出问题啊?

解决方案 »

  1.   

    if trim(adoquery1.fieldbyname('yourfieldname').asstring)='a' then
       radiobutton1.checked:=true
    else
        radiobutton2.checked:=true;end;
      

  2.   

    if ADOQuery1.Parameters.ParamByName('fld').ASString:='a' then
      

  3.   

    写混淆了

    if ADOQuery1.FieldByName('fld').ASString:='a' then
      

  4.   

    adoquery1.open时定位的是第一条记录,值应该是'b',所以出现楼主的情况
      

  5.   

    可是我fld字段在SQLserver中本来就是char型的啊!
      

  6.   

    adoquery1fld.Value换为adoquery1fld.fields[0].asstring
      

  7.   

    最好你先这样
    var
      a:string;
    ..............
    a:=adoquery1fld.fields[0].asstring;
    showmessage(a);//看看读出来的是否正确