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)
但我不知道具体改怎么操作?
最好详细点 展开
我的程序是下面的
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)
但我不知道具体改怎么操作?
最好详细点 展开
1个回答
展开全部
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;
这句里面,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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询