我建了一个数据库表customer,其中包含CustNo和Addr1两个字段 表的结构如下         CustNo     Addr1
         1220       PO Box 8534
         1221       32 Main St
         1233       Shenyang Street
         ....        .....我在窗体上放了一个Query1组件,一个DBGrid1组件,一个DateSource1组件,一个edit1,一个Button1. 在edit1中输入一个小于CustNo字段值的数,然后按Button
查询出满足这个条件的Addr1字段.我写的程序如下:
       
          query1.close;
          query1.sql.clear;
          query1.sql.add('select Addr1 from customer');
          query1.sql.add('where CustNo<:CustNo');
          query1.params[0].asstring:=edit1.text;
          query1.prepare;
          query1.open;然后在执行程序(在edit中输入一个小于CustNo字段某个值)时出错,请问怎样改正?
再有CustNo后的:CustNo是什麽意思,是否可以随便起名?

解决方案 »

  1.   

    :custNo中的custNo是个变量,可以随便起名,你的那个表中的custNo字段是不是整型的,如果是那你的sql语句就错了,要进行一下类型转换.
    query1.params[0].asinteger:=strtoint(edit1.text);
      

  2.   

    你的表中的CustNo字段是什么类型的阿
    如果是整型的
    query1.ParamByName('CustNo').Asinteger:=strtoint(edit1.text);
    如果是字符型的
    query1.ParamByName('CustNo').AsString:=edit1.text