sql:='SELECT * FROM bursar_student WHERE bmrq=date2';
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add(sql);
adoquery2.Open;bmrq是datetime型
date2是Tdatetime型
产生EOleException出错说列名date2无效
请问错在哪啊?

解决方案 »

  1.   

    sql:='SELECT * FROM bursar_student WHERE bmrq=:date';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add(sql);
    ADOQuery1.Parameters.ParamByName(date).Value := date2;
    adoquery2.Open;
      

  2.   

    出在参数的传递上。
    sql:='SELECT * FROM bursar_student WHERE bmrq=:fdate';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add(sql);
    adoquery2.parameters.parambyname('fdate').value:=date2;
    adoquery2.Open;adoquery2.Close;
    --------------------------------------------------------------------
    看尽悲伤,庸人自扰不平事。叹尽荒凉,海阔天空谁人知。狂风劲兮,百花飘
    扬乱舞香。捏花一笑,海不扬波断肠心!
      

  3.   

    sql:='SELECT * FROM bursar_student WHERE bmrq=:date';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add(sql);
    ADOQuery1.Parameters.ParamByName('date').Value := date2;
    adoquery2.Open;
      

  4.   

    sql:='SELECT * FROM bursar_student WHERE bmrq=date2';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add(sql);
    adoquery2.Open;bmrq是datetime型
    date2是Tdatetime型
    产生EOleException出错说列名date2无效
    请问错在哪啊?参数不能这样用:
    sql:='SELECT * FROM bursar_student WHERE bmrq=:bmrq';
    adoquery2.Close;
    adoquery2.SQL.Clear;
    adoquery2.SQL.Add(sql);
    ADOQuery2.Parameters.ParamByName('bmrq').Value := date2;
    adoquery2.Open;
      

  5.   

    十分感谢各位的指教,问题已经解决,是参数传递方式不对!不用adoquery用adostoredproc解决的,从新使用adoquery按照如上方法也成功了。还是多谢各位