这样写到增加那里就不会了。
附代码unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, DB, ADODB, Grids, DBGrids, StdCtrls;type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    Label1: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
  Sql1:String;
begin
  Sql1:='select * from CUSTOMER where CustNo ='+Edit1.Text;
  adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
  adoquery1.SQL.Clear;        //清空SQL语句
  adoquery1.SQL.Add(Sql1);    //添加新的SQL
  adoquery1.Open;             //新SQL有效
end;procedure TForm1.Button2Click(Sender: TObject);
var
  Sql1:String;
begin
  Sql1:='insert into CUSTOMER values '+Edit1.Text;
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add(Sql1);
  adoquery1.Open;
end;end.
我要实现那几个按钮的功能

解决方案 »

  1.   

    Append;Delete;Edit;增、删、改
    Post提交Cancel取消
    找点基础的书看看
      

  2.   

    找不到嘛,现在市面上都难找DELPHI的书,好不容易找到两本都是薄薄的!
      

  3.   

    删除 ADOQuery.Delete
    增加 ADOQuery.Insert 或者 ADOQuery.Append
    撤销 ADOQuery.CancelUpdates
    提交保存 ADOQuery.UpdateBatch()
      

  4.   

    删除 ADOQuery.Delete
    增加 ADOQuery.Insert 或者 ADOQuery.Append
    撤销 ADOQuery.CancelUpdates
    提交保存 ADOQuery.Post或者ADOQuery.UpdateBatch()
    编辑 ADOQuery.Edit
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, DBCtrls, DB, ADODB, Grids, DBGrids, StdCtrls;type
      TForm1 = class(TForm)
        DBGrid1: TDBGrid;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        DataSource1: TDataSource;
        DBNavigator1: TDBNavigator;
        Label1: TLabel;
        Button1: TButton;
        Edit1: TEdit;
        Button2: TButton;
        Button3: TButton;
        Button5: TButton;
        Button6: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      Sql1:String;
    begin
      Sql1:='select * from CUSTOMER where CustNo ='+Edit1.Text;
      adoquery1.Close;            //关闭ADOQuery1,以便于进行SQL语句更新
      adoquery1.SQL.Clear;        //清空SQL语句
      adoquery1.SQL.Add(Sql1);    //添加新的SQL
      adoquery1.Open;             //新SQL有效
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      Sql1:String;
    begin
      Sql1:='insert into CUSTOMER values '+Edit1.Text;
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add(Sql1);
      adoquery1.Open;
    end;procedure TForm1.Button6Click(Sender: TObject);
    begin
      close;
    end;procedure TForm1.Button3Click(Sender: TObject);
    var
      Sql1:String;
      Sql2:String;
    begin
      if edit1.Text<> ''  then
        begin
         Sql1:='delete from CUSTOMER '+'where CustNo='''+edit1.Text+'''';
         adoquery1.Close;
         adoquery1.SQL.Clear;
         adoquery1.SQL.Add(Sql1);
         adoquery1.ExecSQL;
         Sql2:='select * from CUSTOMER';
         adoquery1.Close;
         adoquery1.SQL.Clear;
         adoquery1.SQL.Add(Sql2);
         adoquery1.Open;
        end
       else
        begin
          showmessage('请输入数字!')
        end;
    end;end.删除我写好了,,,,还差两个了 。自己研究好累啊 
      

  6.   

    procedure TForm1.Button2Click(Sender: TObject);//增加
    var
      Sql1:String;
    begin
      with adoquery1 do
      begin
        Append;
        parambyname('CustNo').AsString := Edit1.text;
        post;
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);//删除
    var
      Sql1:String;
    begin
      adoquery1.Delete;
    end;procedure TForm1.Button2Click(Sender: TObject);//修改
    var
      Sql1:String;
    begin
      with adoquery1 do
      begin
        Edit;
        parambyname('CustNo').AsString := Edit1.text;
        post;
      end;
    end;
      

  7.   

    6楼谢谢啦先,不过我水平很差,刚刚开始学delphi,不看完整的语句我都难看懂!表骂偶!!!
      

  8.   

    delete: adoquery1.delete;
    insert: adoquery1.append or adoquery1.insert;
    post or update : adoquery1.post or adoquery1.updatebatch(arall);
    edit: adoquery1.edit...
      

  9.   

    補充一下:
    1.當你只是查詢數據時,請用adoquery1.Open;
    2.需要操作數據(如新增、刪除、修改時)請用adoquery1.execsql;
      

  10.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      Sql1:String;
    begin
      Sql1:='insert into CUSTOMER values ('+Edit1.Text+')';
      adoquery1.Close;
      adoquery1.SQL.Clear;
      adoquery1.SQL.Add(Sql1);
      adoquery1.ExecSQL;  //不是用open
    end;end.
      

  11.   

    Sql1:='insert into CUSTOMER values '+'('+Edit1.Text+')';增加也写好了
      

  12.   

    11楼post or update : adoquery1.post or adoquery1.updatebatch(arall);这个是撤销吗?  看不懂诶。  我现在就差一个撤销了呢
      

  13.   

    CancelUpdates是继承自ADO原生接口的方法,用来取消尚未提交的记录,与CancelBatch(arAll)的作用一样,原生的CancelBatch和CancelUpdates通常只用在批量模式中,但是在TADOQuery的继承中对单记录模式应当同样有效。 Cancel是继承自TDataset的虚方法,通过TADOQuery的父类TCustomADODataset   Override,使其调用ADO原生接口的CancelUpdate方法,取消当前编辑或插入的记录。 
      

  14.   

    參考一下:
    //查询记录procedure TForm1.Button1Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');
    ADOQuery.Open;//插入记录procedure TForm1.Button2Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='insert into YourTABLE(字段1,字段2) values(:字段1,:字段2)';
    // ADOQuery.SQL.Add('insert into YourTABLE values(:字段1)');
    ADOQuery.Parameters.ParamByName('字段1').Value:=trim(Edit1.Text);
    ADOQuery.Parameters.ParamByName('字段2').Value:=trim(Edit2.Text);
    ADOQuery.ExecSQL;
    end;//删除记录procedure TForm1.Button3Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='Delete from YourTABLE where 字段3=:字段3';
    //这里没有添加where的条件判断,实际使用时,注意添加判断
    // ADOQuery.SQL.Add('Delete from NEW_TABLE where 字段3=:字段3');
    ADOQuery.Parameters.ParamByName('字段3').Value:=trim(Edit3.Text);
    ADOQuery.ExecSQL;//删除记录也可用DeleteRecords()函数procedure DeleteRecords(AffectRecords: TAffectRecords = arAll);   
    这个函数有一个参数:AffectRecords可以取如下的值:   
    1、arCurrent :删除当前记录   
    2、arFiltered :删除符合Filter过滤后的所有记录(如果你使用Filter过滤的话)   
    3、arAll          :删除所有记录   
    4、arAllChapters :Delete affects all chapters(ADO chapters)//修改记录procedure TForm1.Button4Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='Update YourTABLE SET 字段4=:字段4';
    //这里没有添加where的条件判断,实际使用时,注意添加判断
    // ADOQuery.SQL.Add('Update YourTABLE SET 字段4=:字段4');
    ADOQuery.Parameters.ParamByName('字段4').Value:=trim(Edit4.Text);
    ADOQuery.ExecSQL;//即时更新插入、删除、修改后的记录在上面插入、删除、修改的语句后添加如下代码即可:
    ADOQuery.Close;
    ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');
    ADOQuery.Open;//使用ADOQuery时注意:1、如果你需要更改数据,query.requestlive必须为true
    2、如果有输入参数的时候,容易出错,通常的错法是这样:
    比如:“WHERE abc = : abc”
    改正如下:“WHERE abc=:abc”就是说=:前后都不能留空格。
    3、ADOQuery.Open与ADOQuery.ExecSQL 有不同之处。
    ADOQuery.Open一般用在查询,select时候;而ADOQuery.ExecSQL用在insert,delete,update等。
      

  15.   

    delphi对数据库方面的ADO控件封装SQL语句
    我刚开始弄的时候也是弄到想哭
    现在终于弄出点头绪了
    强烈建议楼主去
    http://topic.csdn.net/u/20100801/14/951590a3-7297-4a82-ae5f-a992178d369b.html
    看看
    ADO控件基本的说明
    很全的