主题:如何插入数据到SQL2000的表中?
mythlone
[专家分:0] 发布于 2007-04-19 11:10:00
小弟使用ADOQuery+DataSource+DBGrid连接SQL2000数据库。用三个ComboBoxEx控件输入字符串。按添加按钮在数据库中插入一行,并且在DBGrid中显示出来!应该怎么做?麻烦了!
回复列表 (共2个回复)
沙发
mythlone [专家分:0] 发布于 2007-04-19 13:29:00
自己顶,好像使用存储过程也能做到,但是还是不会,麻烦了
板凳
hanzhijun402 [专家分:3690] 发布于 2007-04-19 14:23:00
unit append;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
type
TForm1 = class(TForm)
Cmb_A: TComboBox;//字段A的下拉框,下面类推
Cmb_B: TComboBox;
Cmb_C: TComboBox;
Bt_append: TButton;
Dts_rs: TDataSource;
dbg_rs: TDBGrid;
AdoQuery_rs: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure Bt_appendClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
with adoquery_rs do
begin
close;
sql.clear;
sql.add('select empno as 员工编号,empname as 员工名称,empengname as 英文名称 from rs_emp');
open;
end;
end;
procedure TForm1.Bt_appendClick(Sender: TObject);
begin
if (Cmb_A.text<>'') and (Cmb_B.text<>'') and (Cmb_C.text<>'') then
try
WITH adoquery_rs do
begin
close;
sql.Clear;
sql.add('insert into rs_emp(empno,empname,empengname) values (:empno,:empname,:empengname)');
parameters.parambyname('empno').value:=trim(Cmb_A.text);
parameters.parambyname('empname').value:=trim(Cmb_B.text);
parameters.parambyname('empengname').value:=trim(Cmb_C.text);
EXECSQL;
end;
except
Showmessage('对不起,数据库发生错误!');
end;
self.oncreate(sender);
end;
end.
我来回复