就是'select * from table1 where d_date=#1987-07-06#'
不过我不知道它能不能写到table里,但写到query中是没有问题的

解决方案 »

  1.   

    我是写到query里的!!!
    每次程序执行到这里,delphi就报告错误:
    Invalid use of keyword.
    Token:#1987-07-06#.
    Line Number:2.
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  2.   

    不会呢,我的就没事,那你试试这个
    'select * from table1 where d_date='+'#'+datetostr(date)+'#'

    'select * from table1 where d_date='+''''+datetostr(date)+''''

    'select * from table1 where d_date='+''''+'#'+datetostr(date)+'#'+''''
      

  3.   

    大哥!我再次、重新试验了一下,还是上面那个提示呀!我真是……
    对了,大哥你能不能把你试验通过,没有毛病的源代码发给我一份,让我借鉴一下???
    我的Email地址:
    [email protected]
      

  4.   

    用query,
    query.sql.add('select * from table1 where d_date=:dt')
    query.parambyname('dt').asdatetime:=strtodatetime('1987-07-06');
    我也用access和delphi,多多交流呀
      

  5.   

    好象,这样的问题挺多,
    VB里好象经常这么写。
    我认为 
    在DELPHI里应该,尽量
    用。PARAMBYNAME,
    这样类型问题很容易解决的,
    个人观点,见笑
      

  6.   

    我已将例子发到[email protected] 信箱中了
      

  7.   

    你把sql语句放到ACCESS中的SQL视图中执行通过才可以
      

  8.   

    因为所有的时间都是DOUBLE型的,所以可以采用将时间转化为DOUBLE再查询。
    SQL语句这样写。
    DataStr := FloatToStr(StrToDateTime('2001-9-20 15:39:39'));
    SqlStr := ''select * from table1 where d_date='+DataStr;
    query.sql.add(SqlStr);
      

  9.   

    谢谢大家的回复,尤其感谢“11830(其其)”!我收到了你发的EMail,试了一下,果然成功了!!!
    不过我现在又陷入了一个两难的境地:因为我的程序以前一直在用“BDE”下的“Query”,而你给我的例子是ADOquery,所以我犹豫了好半天,我是继续寻找Query下的解决方案呢,还是把所有程序都改成ADO???
      

  10.   

    报告大家一个天大的好消息!!!!!!
    经过聪明绝顶、意志坚定、榆树林峰、英俊潇洒、风流倜傥、虎背熊腰、热血沸腾、青春靓丽、美貌与智慧并重、英雄与侠义的化身——“一飞”大虾我的无数次试验,这个问题最终还是被我自己给解决了!!!!!!!!!!!!!!!!!
    在这里公布一下解决的方案,给所有参与此问题的朋友,希望这个问题能够给你们一点帮助。
    table1.sql.text:='select * from table1 where d_date like ''1987-07-06''';
    table1.open;
    对!就是like,而不是等于。