我用的是delphi自带的数据库,pa..7的类型的,有一个问题就是我能SQL能很容易的把数据写进去,但是就是不能用update更新,不知道是怎么回事,请大家帮忙
源码如下
unit rukudan;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, DBTables;type
TForm3 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
ComboBox1: TComboBox;
Edit4: TEdit;
ComboBox2: TComboBox;
Edit5: TEdit;
DateTimePicker1: TDateTimePicker;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Query1: TQuery;
Query2: TQuery;
Query3: TQuery;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}procedure TForm3.Button3Click(Sender: TObject);
begin
form3.Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';end;procedure TForm3.FormCreate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';end;procedure TForm3.Button1Click(Sender: TObject);
begin
if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='') or (edit5.Text='') or (edit7.Text='') or (edit8.Text='') or (edit9.Text='')then
begin
showmessage('请将信息输入完整');
exit;
end;
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from jsdate');
query1.SQL.Add('Where jianma=:jianma');
query1.ParamByName('jianma').AsString:=edit1.Text;
try
query1.Open;
except
showmessage('执行出错,请与系统管理员联系');
exit;
end;
if query1.RecordCount<=0 then
begin
with query2 do
begin
query2.Close;
query2.SQL.Clear;
query2.SQL.Add(' insert into jsdate(jianma,shuliang,mingcheng,danwei,guige,gongying,pihao,riqi,');
query2.SQL.Add('jingj,lingshouj,candi,beizu)');
query2.sql.Add(' values (:jianma,:shuliang,:mingcheng,:danwei,:guige,:gongying,:pihao,:riqi,');
query2.SQL.Add( ':jingj,:lingshouj,:candi,:beizu)'); query2.ParamByName('jianma').AsString:=edit1.Text;
query2.ParamByName('shuliang').AsFloat:=strtofloat(edit2.Text);
query2.ParamByName('mingcheng').AsString:=edit3.Text;
query2.ParamByName('danwei').AsString:=ComboBox1.Text;
query2.ParamByName('guige').AsString:=edit4.Text;
query2.ParamByName('gongying').AsString:=ComboBox2.Text;
query2.ParamByName('pihao').AsString:=edit5.Text;
query2.ParamByName('riqi').AsDateTime:=DateTimePicker1.Date;
query2.ParamByName('jingj').AsFloat:=strtofloat(edit6.Text);
query2.ParamByName('lingshouj').AsFloat:=strtofloat(edit7.Text);
query2.ParamByName('candi').AsString:=edit8.Text;
query2.ParamByName('beizu').AsString:=edit9.Text;
try
query2.ExecSQL;
except
showmessage('执行出错,请检查数据输入是否正确');
exit;
end;
end;
if query1.RecordCount>0 then
begin
with query3 do
begin
close;
Sql.clear;
SQL.Add(' update jsdate set shuliang=shuliang+'+edit2.text+',jingj='+edit6.text+',lingshouj='+edit6.text+' where jianma='+'''edit1.text'' ');
{query3.SQL.Add(' shuliang=:endshuliang,jingj=:endjingj,lingshouj=:endlingshouj ');
query3.SQL.Add(' where jianma=:endjianma ');
query3.ParamByName('endshuliang').AsFloat:=form3.query1.FieldValues['shuliang'] + strtofloat(edit2.text);
query3.ParamByName('endjingj').AsFloat:=strtofloat(edit6.Text);
query3.ParamByName('endlingshouj').AsFloat:=strtofloat(edit7.Text);
query3.ParamByName('endjianma').AsString:=edit1.Text;}
try
ExecSQL;
except
showmessage('执行出错,请检查数据输入是否正确,');
exit;
end;
end;
end;
end;
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
end;
procedure TForm3.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit1.setFocus;
end;procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit2.setFocus;
end;procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
ComboBox1.SetFocus;
end;
procedure TForm3.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit5.setFocus;
end;procedure TForm3.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit6.setFocus;
end;procedure TForm3.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit7.setFocus;
end;procedure TForm3.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit8.setFocus;
end;procedure TForm3.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit9.setFocus;
end;procedure TForm3.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
button1.setFocus;
end;end.
急急急,望大家帮帮小弟
源码如下
unit rukudan;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, DBTables;type
TForm3 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
ComboBox1: TComboBox;
Edit4: TEdit;
ComboBox2: TComboBox;
Edit5: TEdit;
DateTimePicker1: TDateTimePicker;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Query1: TQuery;
Query2: TQuery;
Query3: TQuery;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}procedure TForm3.Button3Click(Sender: TObject);
begin
form3.Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';end;procedure TForm3.FormCreate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';end;procedure TForm3.Button1Click(Sender: TObject);
begin
if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='') or (edit5.Text='') or (edit7.Text='') or (edit8.Text='') or (edit9.Text='')then
begin
showmessage('请将信息输入完整');
exit;
end;
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from jsdate');
query1.SQL.Add('Where jianma=:jianma');
query1.ParamByName('jianma').AsString:=edit1.Text;
try
query1.Open;
except
showmessage('执行出错,请与系统管理员联系');
exit;
end;
if query1.RecordCount<=0 then
begin
with query2 do
begin
query2.Close;
query2.SQL.Clear;
query2.SQL.Add(' insert into jsdate(jianma,shuliang,mingcheng,danwei,guige,gongying,pihao,riqi,');
query2.SQL.Add('jingj,lingshouj,candi,beizu)');
query2.sql.Add(' values (:jianma,:shuliang,:mingcheng,:danwei,:guige,:gongying,:pihao,:riqi,');
query2.SQL.Add( ':jingj,:lingshouj,:candi,:beizu)'); query2.ParamByName('jianma').AsString:=edit1.Text;
query2.ParamByName('shuliang').AsFloat:=strtofloat(edit2.Text);
query2.ParamByName('mingcheng').AsString:=edit3.Text;
query2.ParamByName('danwei').AsString:=ComboBox1.Text;
query2.ParamByName('guige').AsString:=edit4.Text;
query2.ParamByName('gongying').AsString:=ComboBox2.Text;
query2.ParamByName('pihao').AsString:=edit5.Text;
query2.ParamByName('riqi').AsDateTime:=DateTimePicker1.Date;
query2.ParamByName('jingj').AsFloat:=strtofloat(edit6.Text);
query2.ParamByName('lingshouj').AsFloat:=strtofloat(edit7.Text);
query2.ParamByName('candi').AsString:=edit8.Text;
query2.ParamByName('beizu').AsString:=edit9.Text;
try
query2.ExecSQL;
except
showmessage('执行出错,请检查数据输入是否正确');
exit;
end;
end;
if query1.RecordCount>0 then
begin
with query3 do
begin
close;
Sql.clear;
SQL.Add(' update jsdate set shuliang=shuliang+'+edit2.text+',jingj='+edit6.text+',lingshouj='+edit6.text+' where jianma='+'''edit1.text'' ');
{query3.SQL.Add(' shuliang=:endshuliang,jingj=:endjingj,lingshouj=:endlingshouj ');
query3.SQL.Add(' where jianma=:endjianma ');
query3.ParamByName('endshuliang').AsFloat:=form3.query1.FieldValues['shuliang'] + strtofloat(edit2.text);
query3.ParamByName('endjingj').AsFloat:=strtofloat(edit6.Text);
query3.ParamByName('endlingshouj').AsFloat:=strtofloat(edit7.Text);
query3.ParamByName('endjianma').AsString:=edit1.Text;}
try
ExecSQL;
except
showmessage('执行出错,请检查数据输入是否正确,');
exit;
end;
end;
end;
end;
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
end;
procedure TForm3.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit1.setFocus;
end;procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit2.setFocus;
end;procedure TForm3.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
ComboBox1.SetFocus;
end;
procedure TForm3.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit5.setFocus;
end;procedure TForm3.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit6.setFocus;
end;procedure TForm3.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit7.setFocus;
end;procedure TForm3.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit8.setFocus;
end;procedure TForm3.Edit8KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
edit9.setFocus;
end;procedure TForm3.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
button1.setFocus;
end;end.
急急急,望大家帮帮小弟
:)
这句话好像没错呀,为什么会不执行呢,或者执行了没起作用呢
我是在线等的,
这段句子是错误的,应为:
where jianma='''+edit1.text+''' ');