我想指定一行数据,然后用按钮来删除,可是我怎么把我要删除的数据的关键字传递给 SQL呢?

解决方案 »

  1.   

    方法太多了。最简单的:
    adodataset.delete;
      

  2.   

    创建一个query1
    query1.sql.text := 'delete from table1 where field1 = :num1';
    query1.parambyname('num1').asstring := '0101';
    query1.execsql;
    或者已经有数据的dateset:table1table1.delete;
      

  3.   

    如果你是用Table的话,直接Delete就可以了
    如果是Query的话那就可以通过象下面语句
     FieldByName('关键字的列名').AsString;差不多的取得值
    再通过参数传给SQL了
      

  4.   

    你用鼠标选到要删除的行时,adoquery就指向那条记录了,楼上门说得没错。
      

  5.   

    你用鼠标选定后,数据集有个指针指向当前选定的行了,直接delete就可以了或通过取关键字的值传给SQL删除。
      

  6.   

    dong02,dong001,dong00,dong..............
    无穷尽亦
      

  7.   

    dbgrid1.DataSource.DataSet.Delete ;
    dbgrid1.DataSource.DataSet.Close ;
    dbgrid1.DataSource.DataSet.Open ;
    这样就可以在删除一条记录后刷新了。
      

  8.   

    var
      cur_: DB.TBook;
    begin 
      cur_ := dbgrid1.DataSource.DataSet.GetBook ;
      dbgrid1.DataSource.DataSet.DisableControls ;
      dbgrid1.DataSource.DataSet.GotoBook(cur_);
      dbgrid1.DataSource.DataSet.EnableControls;
    end;
    这样还可以在刷新后,回到原来的位置上去。