我写了这样的SQL语句
s_sql:='SELECT * FROM db where 1=1 ';
if input.Text='' then
      begin
        ShowMessage('请输入数值!');
        exit;
      end
    else
       s_sql:=s_sql+'and a='''+input.Text+'''';
其中a在数据库中为一个双精度型的字段,input是一个Edit组件,用来输入查询的值,
但是上面的代码出错,我知道是因为数据类型不匹配,请教各位大侠,如果我将input.Text的值转换后赋给
一个Double类型的变量put,怎样在SQL语句中引用put呢,代码怎么写啊?

解决方案 »

  1.   

    s_sql:=s_sql+'and a='+input.Text+''; //这样就可以了
      

  2.   

    s_sql:=s_sql+'and a=convert(float,'''+input.Text+''')'; 
      

  3.   

    恩,确实可以啊,厉害哦!不过如果我要将input.Text的内容转换后进行一些运算,得到Double型的数据range,然后查询a>range的记录,那该怎样引用啊?
      

  4.   

    s_sql:=s_sql+'and a>'+FloatToStr(range);