小M我的程序至今没有改出来,请各位大侠再帮帮忙,改下错,拜托啦~~~~~~~~~~小M一定感激得五体投地!!!!
以下是我的程序:
procedure TBookAdd.Button1Click(Sender: TObject);
begin
if(trim(CodeEdit.Text)='' )then
begin
showmessage('书号不能为空');
exit;
end;
if(trim(NameEdit.Text)='' )then
begin
showmessage('书名不能为空');
exit;
end;
if(trim(AuthorEdit.Text)='' )then
begin
showmessage('作者不能为空');
exit;
end;
if(trim(PressEdit.Text)='' )then
begin
showmessage('出版社不能为空');
exit;
end;
if(trim(OutTimeEdit.Text)='' )then
begin
showmessage('出版时间不能为空');
exit;
end;
if(trim(CostEdit.Text)='' )then
begin
showmessage('价格不能为空');
exit;
end;
if(trim(Edit1.Text)='' )then
begin
showmessage('数量不能为空');
exit;
end;
if(trim(ComboBox2.Text)='' )then
begin
showmessage('类别不能为空');
exit;
end;
if(trim(Edit3.Text)='' )then
begin
showmessage('位置不能为空');
exit;
end;ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 书号 from 图书信息表 where 书号 =:A1');
ADOQuery1.Parameters.ParamByName ('A1').Value :=CodeEdit.Text;
ADOQuery1.Open;
if ADOQuery1.RecordCount <> 0 then
begin
MessageDlg('书号<'+CodeEdit.Text+'>已经存在',mtError,[mbok],0);
CodeEdit.SetFocus;
Exit;
end;
Close;try
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 图书信息表(书号,书名,作者,出版社,出版日期,价格,备注,数量,类别,位置)');
ADOquery1.SQL.add('Values(:A1,:A2,:A3,:A4,:A5,:A6,:A7,:A8,:A9,:A10)');
ADOQuery1.Parameters.ParamByName ('A1').Value :=CodeEdit.Text;
ADOQuery1.Parameters.ParamByName ('A2').Value :=NameEdit.Text;
ADOQuery1.Parameters.ParamByName ('A3').Value :=AuthorEdit.Text;
ADOQuery1.Parameters.ParamByName ('A4').Value :=PressEdit.text;
try
ADOQuery1.Parameters.ParamByName ('A5').Value :=StrToDate(OutTimeEdit.Text);
except
MessageDlg('参数<出版时间>设置错误',mtError,[mbok],0);
Exit;
end;
ADOQuery1.Parameters.ParamByName ('A6').Value :=CostEdit.Text;
ADOQuery1.Parameters.ParamByName ('A7').Value :=Memo1.Text;
ADOQuery1.Parameters.ParamByName ('A8').Value :=Edit1.Text;
ADOQuery1.Parameters.ParamByName ('A9').Value :=ComboBox2.Text;
ADOQuery1.Parameters.ParamByName ('A10').Value :=Edit3.text;
ADOQuery1.ExecSQL ;
showmessage('添加成功!');
CodeEdit.Text:='';
NameEdit.Text:='';
AuthorEdit.Text:='';
PressEdit.Text:='';
OutTimeEdit.Text:='';
CostEdit.Text:='';
Memo1.Text:='';
Edit1.Text:='';
ComboBox2.Text:='';
Edit3.Text:='';
except
MessageDlg('入库出错',mtError,[mbok],0);
end;
end;
错误信息为:
[Error] fbookadd.pas(188): 'END' expected but 'EXCEPT' found
[Error] fbookadd.pas(190): EXCEPT or FINALLY expected
[Fatal Error] mainform.pas(100): Could not compile used unit 'fbookadd.pas'怎么会这样呢??????????????????????
请帮帮我~~~~~~~~~~
以下是我的程序:
procedure TBookAdd.Button1Click(Sender: TObject);
begin
if(trim(CodeEdit.Text)='' )then
begin
showmessage('书号不能为空');
exit;
end;
if(trim(NameEdit.Text)='' )then
begin
showmessage('书名不能为空');
exit;
end;
if(trim(AuthorEdit.Text)='' )then
begin
showmessage('作者不能为空');
exit;
end;
if(trim(PressEdit.Text)='' )then
begin
showmessage('出版社不能为空');
exit;
end;
if(trim(OutTimeEdit.Text)='' )then
begin
showmessage('出版时间不能为空');
exit;
end;
if(trim(CostEdit.Text)='' )then
begin
showmessage('价格不能为空');
exit;
end;
if(trim(Edit1.Text)='' )then
begin
showmessage('数量不能为空');
exit;
end;
if(trim(ComboBox2.Text)='' )then
begin
showmessage('类别不能为空');
exit;
end;
if(trim(Edit3.Text)='' )then
begin
showmessage('位置不能为空');
exit;
end;ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 书号 from 图书信息表 where 书号 =:A1');
ADOQuery1.Parameters.ParamByName ('A1').Value :=CodeEdit.Text;
ADOQuery1.Open;
if ADOQuery1.RecordCount <> 0 then
begin
MessageDlg('书号<'+CodeEdit.Text+'>已经存在',mtError,[mbok],0);
CodeEdit.SetFocus;
Exit;
end;
Close;try
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 图书信息表(书号,书名,作者,出版社,出版日期,价格,备注,数量,类别,位置)');
ADOquery1.SQL.add('Values(:A1,:A2,:A3,:A4,:A5,:A6,:A7,:A8,:A9,:A10)');
ADOQuery1.Parameters.ParamByName ('A1').Value :=CodeEdit.Text;
ADOQuery1.Parameters.ParamByName ('A2').Value :=NameEdit.Text;
ADOQuery1.Parameters.ParamByName ('A3').Value :=AuthorEdit.Text;
ADOQuery1.Parameters.ParamByName ('A4').Value :=PressEdit.text;
try
ADOQuery1.Parameters.ParamByName ('A5').Value :=StrToDate(OutTimeEdit.Text);
except
MessageDlg('参数<出版时间>设置错误',mtError,[mbok],0);
Exit;
end;
ADOQuery1.Parameters.ParamByName ('A6').Value :=CostEdit.Text;
ADOQuery1.Parameters.ParamByName ('A7').Value :=Memo1.Text;
ADOQuery1.Parameters.ParamByName ('A8').Value :=Edit1.Text;
ADOQuery1.Parameters.ParamByName ('A9').Value :=ComboBox2.Text;
ADOQuery1.Parameters.ParamByName ('A10').Value :=Edit3.text;
ADOQuery1.ExecSQL ;
showmessage('添加成功!');
CodeEdit.Text:='';
NameEdit.Text:='';
AuthorEdit.Text:='';
PressEdit.Text:='';
OutTimeEdit.Text:='';
CostEdit.Text:='';
Memo1.Text:='';
Edit1.Text:='';
ComboBox2.Text:='';
Edit3.Text:='';
except
MessageDlg('入库出错',mtError,[mbok],0);
end;
end;
错误信息为:
[Error] fbookadd.pas(188): 'END' expected but 'EXCEPT' found
[Error] fbookadd.pas(190): EXCEPT or FINALLY expected
[Fatal Error] mainform.pas(100): Could not compile used unit 'fbookadd.pas'怎么会这样呢??????????????????????
请帮帮我~~~~~~~~~~
解决方案 »
- 轻松赚取30分,用了string的处理函数之后如何保留原网页的格式
- 求助:ADOquery提取Excel数据问题
- 98系统下,Delphi里的Dword与Integer型??????
- FASTREPORT3.0问题
- 恢复sql-server数据提示错误,做过的来看看
- 谁知道query.sql.add('sysdate减去20040201101150');后是什么类型的,是日期型吗?
- tabsheet继承问题!!!
- 救救我吧。:)
- 怎样使lable的内容分两行显示
- CommandText changes are not allowed是个什么错误????????
- 数据库中的数据用颜色表示
- 如何取出dbgrideh选中的多行的数据?
begin //here
ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 图书信息表(书号,书名,作者,出版社,出版日期,价格,备注,数量,类别,位置)');
去掉这个begin
try
begin 这里的 begin去掉 MessageDlg('入库出错',mtError,[mbok],0);
end;
end; ----这里的end;删除掉
编译一下试度,应该没有问题的.另补充说一下try ....except....end;用法
格式:
try ---注意这里后面不要加begin
.....
.....
相关的处理语句
except
messagebox(handle,'ddddd','dd',mb_iconerror);//错误提示
end;