delphi 用ADOquery插入数据库

我想实现一个功能,就是在delphi中用一个button和一个edit,来实现对数据库中数据的插入,在edit中输入数值,点击按钮,然后数值就会进入数据库中,我用了ADO... 我想实现一个功能,就是在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 ( ''+edit1.Text+'')') ;
execsql;
active:=true;
end;
end;

end.

一直有错,我不知道要怎么改,刚在网上看到要用
Parameters.Items[0].Value:=trim(Edit1.Text)
但我不知道具体改怎么操作?
最好详细点
展开
 我来答
abingpow
2009-01-17 · TA获得超过2206个赞
知道大有可为答主
回答量:2830
采纳率:0%
帮助的人:2279万
展开全部
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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式