诸位大侠, 我的代码为
strBranchBureauID := Marco_Exch_Query (Edit_Network_SubBureau_Name.text,1);
//根据分局ID获取分局ID, 调用Marco_Exch_Query函数
strEXCH_ID := Marco_Exch_Query(Cmb_Sub_Bureau.text,1); //有关校验///////////////////////////////////////////////////////////////
if (Cmb_Sub_Bureau.text = '<请选择输入>') or (Cmb_Sub_Bureau.text = '') or (length(Cmb_Sub_Bureau.text) >10) then
begin
if strFlag<>'NO' then showmessage('请输入正确的分局名,不能超过10个字符且不能为空.');
strFlag := 'NO';
end;
if strFlag <> 'NO' then
begin
//dm.DmDatabase.StartTransaction;
begin
try
dm.DmDatabase.StartTransaction;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句1);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句2);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句3);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
except
//dm.DmDatabase.Rollback;
end;
end; begin
try
dm.DmDatabase.StartTransaction;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句4);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句5);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句6);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
except
//dm.DmDatabase.Rollback;
end;
end;
ok_cancel := true;
self.close;
end; 万分感谢!!!!小弟在线等待!!!!!麦克小熊
strBranchBureauID := Marco_Exch_Query (Edit_Network_SubBureau_Name.text,1);
//根据分局ID获取分局ID, 调用Marco_Exch_Query函数
strEXCH_ID := Marco_Exch_Query(Cmb_Sub_Bureau.text,1); //有关校验///////////////////////////////////////////////////////////////
if (Cmb_Sub_Bureau.text = '<请选择输入>') or (Cmb_Sub_Bureau.text = '') or (length(Cmb_Sub_Bureau.text) >10) then
begin
if strFlag<>'NO' then showmessage('请输入正确的分局名,不能超过10个字符且不能为空.');
strFlag := 'NO';
end;
if strFlag <> 'NO' then
begin
//dm.DmDatabase.StartTransaction;
begin
try
dm.DmDatabase.StartTransaction;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句1);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句2);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句3);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
except
//dm.DmDatabase.Rollback;
end;
end; begin
try
dm.DmDatabase.StartTransaction;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句4);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句5);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
dm.Q_Update_Resource.SQL.clear;
dm.Q_Update_Resource.SQL.add(我的SQL语句6);
dm.Q_Update_Resource.ExecSQL;
dm.DmDatabase.commit;
except
//dm.DmDatabase.Rollback;
end;
end;
ok_cancel := true;
self.close;
end; 万分感谢!!!!小弟在线等待!!!!!麦克小熊
解决方案 »
- delphi
- 问一个DCOM的问题
- 要在其他窗体里动态生成控件到一个MDI的子窗体?
- select into 问题
- 如何通过编程获取CPU的温度?
- 如何用delphi作搜索引擎?
- 小问题!!快来拿分!!!在线等待!!!
- 为什么不捕获异常?
- 用image显示图片时很大,有什么方法可以按照比例来缩小,以便可以看到整副图片?
- 我有一个用acess97创建的一个table,现在我把他放到了win2000下,2000下用的是access2000!我配置了odbc 后,在delphi里面连接table,出现以
- 各位大哥,一个很简单的小问题,只是小弟太笨了,各位大哥,来帮小弟一下啊
- 请教如何同时插入两个表呀,我是刚学习delphi语言的数据库编程,急死我了!!
dm.DmDatabase.commit;???
你提交了以后,这个事务也就不存在了,下一次遇到dm.DmDatabase.commit;就会报出不在事务中,使用的模式应该是:
Start Transaction;
try
sql operate...
commit Transaction;(only once)
except
rollback Transaction
end
我的问题解决了. 万分感谢!!!!麦克小熊