procedure Tmain.DeleteUserClick(Sender: TObject);
begin if MessageDlg('确认要删除吗?',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
//开启一个事务
try
DataBase1.StartTransaction;
Query1.SQL.Clear;
Query1.sql.Add('delete from User where ID=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Add('delete from SiteInfo where UserId=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
DataBase1.Commit;
showmessage('删除成功!');
Except
begin
DataBase1.Rollback;
ShowMessage('删除失败!');
end;
end
//取消删除
else close;end;系统老是有“END expected BUT else FOUNd”
try ...except 的用法不是很清楚高手看一下错在那?
begin if MessageDlg('确认要删除吗?',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
//开启一个事务
try
DataBase1.StartTransaction;
Query1.SQL.Clear;
Query1.sql.Add('delete from User where ID=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Add('delete from SiteInfo where UserId=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
DataBase1.Commit;
showmessage('删除成功!');
Except
begin
DataBase1.Rollback;
ShowMessage('删除失败!');
end;
end
//取消删除
else close;end;系统老是有“END expected BUT else FOUNd”
try ...except 的用法不是很清楚高手看一下错在那?
解决方案 »
- DataSource2DataChange(sender); 这个事件怎么写
- 如何让代码在主线程中执行?
- 欲哭无泪中,sybase12.52+ado
- 被一个破网站修改了注册表,如何恢复?
- 来看看,我想了好几天了怎么解决呢
- 属性编辑器设计中的问题!
- 请问谁有rational2001的liscence key?
- 用ADODATASET。SAVETOFILE后,将文件取出通过网络发送,另一端接收后用ADODATASET.LOADFROMFILE 载入时报错,无效字符,文件中有中文,如何解决
- 怎样用delphi来播放wav文件?
- 一个程序有三个窗体,一为主窗体。我在二中调用三。现在我想在三中关闭二应该怎么办?
- VC++翻译到delphi (只翻译几个地方)
- DELPHI下pagecontrol同一个PAGE点击问题
begin if MessageDlg('确认要删除吗?',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
//开启一个事务
try
DataBase1.StartTransaction;
Query1.SQL.Clear;
Query1.sql.Add('delete from User where ID=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Add('delete from SiteInfo where UserId=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
DataBase1.Commit;
showmessage('删除成功!');
Except
begin
DataBase1.Rollback;
ShowMessage('删除失败!');
end;
end;
end//这里缺少一个
//取消删除
else close;end;
配对出错
procedure Tmain.DeleteUserClick(Sender: TObject);
begin
if MessageDlg('确认要删除吗?',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
//开启一个事务
try
DataBase1.StartTransaction;
Query1.SQL.Clear;
Query1.sql.Add('delete from User where ID=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
Query1.SQL.Clear;
Query1.SQL.Add('delete from SiteInfo where UserId=:uid');
Query1.ParamByName('uid').AsInteger:=Log.UserID;
Query1.ExecSQL;
DataBase1.Commit;
showmessage('删除成功!');
Except
DataBase1.Rollback;
ShowMessage('删除失败!');
end;
end
//取消删除
else
close;
end;
----------此处 begin 去掉
DataBase1.Rollback;
ShowMessage('删除失败!');
end;
if....else 的begin end 我是明白,但try .. except 的就不是很清楚
.....
except
.....
end;
begin
try
//....
except
begin
//.... catch exception
end;
end;
end
else
begin
//...
end;
try
//....
except
begin //这里的begin...end, 多余了
//.... catch exception
end; //这里的begin...end, 多余了
end;
建议还是加上比较好 因为以下代码会编译不通过 ("END" Expected but ...)try
//....
except on e:Exception do
begin
//.... catch exception
//code line 1
//code line 2
.....
end;
end;
//....
except on e:Exception do
//begin
//.... catch exception
//code line 1
//code line 2
.....
//end;
end;这样会编译出错
//....
except
on e:Exception do
begin
//.... catch exception
//code line 1
//code line 2
.....
end;
end;
except
end;//是少end了吧。
end;
end;///here!!!!!!!!!!
end
//取消删除
else close;