delphi 用ADOquery插入数据库

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:04:14
我想实现一个功能,就是在delphi中用一个button和一个edit,来实现对数据库中数据的插入,在edit中输入数值,点击按钮,然后数值就会进入数据库中,我用了ADOquery的组件,SQL的数据库,有谁能告诉我具体该怎么做么?
我的程序是下面的

unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.add('insert into xmb values ( '&

sql.add('insert into xmb values ( ''+edit1.Text+'')') ;

这句里面,SQL语句不严谨,表xmb必须是只有一个字段才会成功,如果有多个字段,则必须加上列名。建议改成这样

procedure TForm1.Button1Click(Sender: TObject);
var
sql:string;
begin
sql:='insert into xmb(对应的列名1,对应的列名2) values(''%s'',''%s'')';
sql:=format(sql,[edit1.Text,edit2.Text]);
with adoquery1 do
begin
close;
sql.Clear;
sql.add(sql);
execsql;
end;
end;

这个仅仅是插入记录,并不会在dbgrid中显示,要想显示就改成这样

procedure TForm1.Button1Click(Sender: TObject);
var
sql:string;
begin
sql:='select * from xmb';
with adoquery1 do
begin
//这边要打开显示
close;
sql.Clear;
sql.add(sql) ;
open;
//下面开始添加
append;
fieldbyname('对应的列名1').asstring:=Edit1.Text;
fieldbyname('对应的列名2').asstring:=Edit2.Text;
post;
end;
end;