insert 表名 (时间字段名) values('1997-10-1')

解决方案 »

  1.   

    如果是sqlserver可以用""例如:tadoquery.sql.add('select * from authors where name="white"');
    也可以这样:
    tadoquery.sql.add('select * from authors where name='''white'''');
    如果不是sql server可以这样:
    query.sql.add('select * from authors where name=:name');
    query.fields[0].values:=white;//好像是这样吧我很少这样用具体可以看一下help自已也试一下
      

  2.   

    当在sql中还含有字符串时:
    如:  又字符串 'select * from authors where name="name"'
    可表示为: 'select * from authors where name='+quotedstr('name');
    强制转换问题:
    如: 将字符串用指针表示:pchar('select * from authors where name="name"');
      

  3.   

    以参数的方式比较好!
    Query1.close;
    Query1.Sql.Text:='Insert Into ATable(ADate) values(:ADate) where ........'
    Query1.params[0].AsDateTime:=Date;//或用StrToDate()函数
    if not Query1.Prepared then Query1.Prepare;
    Query1.Open;
    其实以参数的方式是有利于数据库管理系统进行性能优化的,起码在Oracle里是这样!
      

  4.   

    可能用''''abce'''',结果是'abcd'存入到sql语句中.若不行,'''abcd'''试一试总是可以的
      

  5.   

    var quotename:string;
    begin
    query1.close;
    query1.sql.clear;
    query1.sql.add('select * from authors where name="'+quotename+'"');
    if not query1.prepared then query1.prepare;
    query1.open;
    end;