我做了一个窗体,上有一个Edit框和一个Button,我现在想当在Edit框中输入内容后按下Button,把Edit中内容输入某个数据库的某张表中,每次按下Button后,添加一条新记录,不知道该如何实现?我知道要在窗体上放上一个ADOConnection控件,再在它的ConnectionString中选择数据库,不知道对不对?是否还要放其它控件,另外在Button中Insert语句该如何写?是否还要加写别的语句,还望指教,谢谢!

解决方案 »

  1.   

    还要放个ADOQuery or ADOTable 连接到ADOConnection
    在AQ or AT中选择一个表就可以了
    Button事件
    var
      wl: string;
    begin
      wl := 'insert into 表名(字段1,字段2) values(' +
             '''' + Edit1.text + '''' + ',' + ...+')';//这个适合与你的字段为字符串类型
                                                  //其他的形式有所不同
       AQ.close;
       AQ.sql.clear;
       AQ.sql.add(wl);
       AQ.execsql;
    end;
    可以了
      

  2.   

    用ADOConnection 控件连好数据库以后:
    在button的onclick事件中写代码:
    var
      MyValue:string;
    begin
      MyValue:=trim(edit1.text);
      with TADOQUERY.Create(self) do 
        try
          connection:=ADOCONNECTION1;
          close;
          sql.clear;
          sql.add('INSERT INTO 表名 (列1, 列2, ...)
    VALUES ('''+MyValue+ ''',''value2'', ...)');
          try  
            execsql; 
          execpt
            showmessage('数据插入失败!');
          end;
          close;
        fianlly
          free;
    end;
      

  3.   

    但每次都会出一个DataBase Login的框,不知道有什么方法可以把它去掉?
      

  4.   

    好像有一个叫loginprompt属性,改一下试试
      

  5.   

    另外,有几句话想请教解释一下:
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.execsql;
      

  6.   

    1、但每次都会出一个DataBase Login的框,不知道有什么方法可以把它去掉?
      
       设置ADOCONNECTION的 longinprompt属性为FALSE;2、另外,有几句话想请教解释一下:
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.execsql;
       建议你先找本书好好看看吧