我用两个edit控件,里面的值不确定。数据库是oracle,有一个字段是数字型。select * from rp_user_report where shuzhi>='''+edit1.text+''' and shuzhi<='''+edit2.text+''';就是where以后的语句有问题,怎么写才对?谢谢各位了

解决方案 »

  1.   

    select * from rp_user_report where shuzhi>=:shuzhi1 and shuzhi<=:shuzhi2;
    Parameters.ParamByName('shuzhi1).value:=edit1.Text;
    Parameters.ParamByName('shuzhi2).value:=edit2.Text;
      

  2.   

    'select * from rp_user_report where shuzhi>='''+edit1.text+''' and shuzhi<='''+edit2.text+'''';
      

  3.   

    数字不应该用引号引住的吧?sql server中判断数字是否在一个范围可以用Between函数,不熟悉oracle,不知道它是否也有?
      

  4.   

    'select * from rp_user_report where shuzhi>='+''''+edit1.text+''''+' and shuzhi<='+''''+edit2.text+'''';
      

  5.   

    select * from rp_user_report where shuzhi>='+edit1.text+' and shuzhi<='+edit2.text+'
      

  6.   

    select * from rp_user_report where shuzhi>='''+edit1.text+''' and shuzhi<='''+edit2.text+''';
    搂主的语句其实是可以执行的,应为oracel会自动将字符转换成数值型进行比较
      

  7.   

    在SQL SERVER中,楼主的语句应该是这样的
    select * from rp_user_report where shuzhi>=‘+inttostr(edit1.text)+ ’and shuzhi<='+inttostr(edit2.text)+';
    不知道这个在oracel中是否是可行的
      

  8.   

    真不好意思打错了哦,应该是这样的
    在SQL SERVER中,楼主的语句应该是这样的
    select * from rp_user_report where shuzhi>=‘+quotedstr(edit1.text)+ ’and shuzhi<='+quotedstr(edit2.text)+';
    不知道这个在oracel中是否是可行的
      

  9.   

    http://www.somade.com/是个很专业的技术社区,去那里找找吧,或许有你要的答案~