Delete  from Table1 where Table1.Field1="AA"
这个SQL语句,ACCESS数据库不支持吗?
程序运行时报错:对象或提供者不能够支持所需的操作。

解决方案 »

  1.   

    Query1.close;
    Query1.sql.clear;
    Query1.sql.add('Delete  from Table1 where Table1.Field1='+#39+"AA"+#39);
    Query1.open;
    就得啦
      

  2.   

    access的字符串用的是双引号,而delphi用的单引号
    所以应该这样
    delete from table where table1.field='"AA"';
    如果AA是有双引号的话
      

  3.   

    谁说不支持啊,access不会这么弱的...在access里,单双引都是没问题的...
      

  4.   

    应该这么做:
    Query1.close;
    Query1.sql.clear;
    Query1.sql.add('Delete  from Table1 where Table1.Field1=QuotedStr('AA'));
    Query1.open;
    就得啦
      

  5.   

    Access是支持这样的SQL的,问题是你使用数据库方问方式是什么
    如果是Ado可以这样写语句
    FieldName 须是文本型字段
    AdoConnection.execture('delete from Tablename where Fieldname = ''AA''');
    这样就可以干净利落的删除记录了。如果是BDE方式
    if Table1.Locate('FieldName','AA',[loCaseInsenssitive]) then
    begin
      Table1.Delete;
      Table1.Post;
    end;