呵呵!我还是把代码直接粘上吧!大家看着比较方便!unit Purchase;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls;type
TForm4 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Bevel1: TBevel;
Button1: TButton;
Button2: TButton;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementationuses PurchaseInfo, DataModule;{$R *.dfm}procedure TForm4.Button2Click(Sender: TObject);
begin
form4.Close;
end;procedure TForm4.Button1Click(Sender: TObject);
var
str:string;
int:Integer;
begin
if edit1.Text='' then
begin
showmessage('请输入采购单编号');
edit1.SetFocus;
exit;
end;
if edit2.Text='' then
begin
showmessage('请输入商品编号');
edit1.SetFocus;
exit;
end;
if edit3.Text='' then
begin
showmessage('请输入进货价');
edit1.SetFocus;
exit;
end;
if edit4.Text='' then
begin
showmessage('请输入进货数量');
edit1.SetFocus;
exit;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
if form4.Tag=1 then
begin
adoquery1.SQL.Add('select * from Purchase where 采购单编号=:cgbh');
adoquery1.Parameters.ParamByName('cgbh').Value:=edit1.Text;
adoquery1.Open;
if adoquery1.RecordCount>0 then
begin
showmessage('采购单编号已存在,请重新输入');
edit1.Text:='';
edit1.SetFocus;
exit;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into Purchase');
adoquery1.SQL.Add('values(:cgbh,:spbh,:jhj,:jhsl,:jhsj)');
end;
if form4.Tag=2 then
begin
str:=edit1.Text;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update Purchase set 采购单编号=:cgbh,商品编号=:spbh,'
+'进货价=:jhj,进货数量=:jhsl,进货时间=:jhsj where 采购单编号=:oldcgbh');
adoquery1.Parameters.ParamByName('oldcgbh').Value:=str;
end;
adoquery1.Parameters.ParamByName('cgbh').Value:=edit1.Text;
adoquery1.Parameters.ParamByName('spbh').Value:=edit2.Text;
adoquery1.Parameters.ParamByName('jhj').Value:=edit3.Text;
adoquery1.Parameters.ParamByName('jhsl').Value:=edit4.Text;
adoquery1.Parameters.ParamByName('jhsj').Value:=edit5.Text;
adoquery1.ExecSQL;
form5.ADOQuery1.Close;
form5.ADOQuery1.Open;
close;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls;type
TForm4 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Bevel1: TBevel;
Button1: TButton;
Button2: TButton;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementationuses PurchaseInfo, DataModule;{$R *.dfm}procedure TForm4.Button2Click(Sender: TObject);
begin
form4.Close;
end;procedure TForm4.Button1Click(Sender: TObject);
var
str:string;
int:Integer;
begin
if edit1.Text='' then
begin
showmessage('请输入采购单编号');
edit1.SetFocus;
exit;
end;
if edit2.Text='' then
begin
showmessage('请输入商品编号');
edit1.SetFocus;
exit;
end;
if edit3.Text='' then
begin
showmessage('请输入进货价');
edit1.SetFocus;
exit;
end;
if edit4.Text='' then
begin
showmessage('请输入进货数量');
edit1.SetFocus;
exit;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
if form4.Tag=1 then
begin
adoquery1.SQL.Add('select * from Purchase where 采购单编号=:cgbh');
adoquery1.Parameters.ParamByName('cgbh').Value:=edit1.Text;
adoquery1.Open;
if adoquery1.RecordCount>0 then
begin
showmessage('采购单编号已存在,请重新输入');
edit1.Text:='';
edit1.SetFocus;
exit;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into Purchase');
adoquery1.SQL.Add('values(:cgbh,:spbh,:jhj,:jhsl,:jhsj)');
end;
if form4.Tag=2 then
begin
str:=edit1.Text;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update Purchase set 采购单编号=:cgbh,商品编号=:spbh,'
+'进货价=:jhj,进货数量=:jhsl,进货时间=:jhsj where 采购单编号=:oldcgbh');
adoquery1.Parameters.ParamByName('oldcgbh').Value:=str;
end;
adoquery1.Parameters.ParamByName('cgbh').Value:=edit1.Text;
adoquery1.Parameters.ParamByName('spbh').Value:=edit2.Text;
adoquery1.Parameters.ParamByName('jhj').Value:=edit3.Text;
adoquery1.Parameters.ParamByName('jhsl').Value:=edit4.Text;
adoquery1.Parameters.ParamByName('jhsj').Value:=edit5.Text;
adoquery1.ExecSQL;
form5.ADOQuery1.Close;
form5.ADOQuery1.Open;
close;
end;end.
解决方案 »
- 过年后想买一台THINKPAD X60,现在的台式机这么好用,会不会太笨了?
- 线程远程注入的问题
- 如何把数据库里的表在DBlistBox里显示出来
- Application.messagebox和messagebox有什么区别呢?
- 请问Delphi7的dotNet功能是怎么一回事?跟Delphi.Net是一回事吗?工具栏按钮文本如何能放置在图标右侧?
- 在win2k下如何写重新启动代码 我试了n次都只注销 请高手指教
- 跪请高手看看这使用的是什么控件
- 怎么求汉字的ASCⅡ码?
- 一个sql的问题(大虾看看)
- 急救!怎样进行原唱与伴唱的切换,即实现卡拉OK功能??
- 三层结构 access 不能删除表中记录
- 如何用delphi动态获得某个文件的偏移结束地址?
1:
begin
//你的操作
with adoquery1 do
begin
close;
sql.text:='UPDATE MerchInfo SET 库存数量=库存数量+'+ 你的数量+' WHERE 商品编号='+Quoter(你的编号);
execsql;
end;
end;
2:
begin
//你的操作
with adoquery1 do
begin
close;
sql.text:='UPDATE MerchInfo SET 库存数量=库存数量+'+ 你的数量差+' WHERE 商品编号='+Quoter(你的编号);
execsql;
end;
end;
end;
没用过,我是第一次用delphi,要放哪里????
这样吧!你就当我怎么都不会!,直接添加到单元代码里面,那样子我还能看得懂!也方便我学习,谢谢!
instead of insert, update
as
SET NOCOUNT ON
if not exists(select 1 from deleted )--判断新增操作
update MerchInfo set m.库存数量=m.库存数量+i.进货数量 from MerchInfo m,inserted i
where m.商品编号=i.商品编号
else
update MerchInfo set 库存数量=库存数量-(m.库存数量-d.库存数量)
from MerchInfo m,deleted d where m.商品编号=d.商品编号
SET NOCOUNT OFF go
instead of insert, update
as
SET NOCOUNT ON
if not exists(select 1 from deleted )--判断新增操作
update MerchInfo set m.库存数量=m.库存数量+i.进货数量 from MerchInfo m,inserted i
where m.商品编号=i.商品编号
else
update MerchInfo set 库存数量=库存数量-(d.库存数量-i.库存数量)
from MerchInfo m,deleted d,inserted i where m.商品编号=d.商品编号
SET NOCOUNT OFF go