莱鸟发问:一个简单的循环问题(在线,立结帖)

sbxkpl 2004-04-11 08:15:59
我在两个数据操作语句,想先让复制语句进行后,再进行删除语句,请高手帮我完成啊!我用的是vb.net,这两个语句单独调试都可以通过,我加入if ...then...就只能执行一条语句了,各位大侠,有什么好的办法吗?语句如下:
复制语句
oksql = "insert into tbltggl select * from tbltgk where ID = " & HQNo
ExeSQL(okSql)
删除语句
okSql = "DELETE * FROM tbltgk WHERE ID = " & HQNo
ExecuteSQL(dSql)

...全文
65 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Seeko0 2004-04-11
  • 打赏
  • 举报
回复
//可以把两句写在一起;这样会自动进行事务控制

oksql = "insert into tbltggl select * from tbltgk where ID = " & HQNo& ";DELETE * FROM tbltgk WHERE ID = " & HQNo

ExeSQL(okSql)

cassie322 2004-04-11
  • 打赏
  • 举报
回复
begintransaction是开始执行事务
sbxkpl 2004-04-11
  • 打赏
  • 举报
回复
TO zhanqiangz(闲云野鹤):
谢谢您的帮助,我将您提供的代码改定如下,但是出现报错,报错信息如下:
编译器错误信息:
行 106:dim mytransaction as new oledbtransaction=cnn.begintransaction()
    需要语句结束
begintransaction是什么意思啊!麻烦您再看一下我的代码,帮帮小弟吧!谢谢先!
  代码如下:

Sub btAdd_Click(sender As Object, e As EventArgs)
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("/qkglxt/data/data.mdb")
myConn = New OledbConnection(strConn)
dim cnn as new oledbconnection(strconn)
dim cmd1 as new oledbcommand("insert into tbltggl select * from tbltgk where HQHTID = " & HQHTNo ,cnn)
dim cmd2 as new oledbcommand("DELETE * FROM tbltgk WHERE HQHTID = " & HQHTNo , cnn)
dim mytransaction as new oledbtransaction=cnn.begintransaction()
cmd1.transaction=mytransaction
cmd2.transaction=mytransaction
try
cnn.open()
cmd1.executenoquery()
cmd2.executenonquery()
catch ex as exception
Response.Redirect("tgkindex.aspx")
'response.write(ex.message)
finally
cnn.close()
end try
end sub
sbxkpl 2004-04-11
  • 打赏
  • 举报
回复
谢谢各位,先试试,试好,立结!
jintaogentle 2004-04-11
  • 打赏
  • 举报
回复
最好要使用transcation
DimVar 2004-04-11
  • 打赏
  • 举报
回复
看不大懂.
依次执行不就行了?
Overriding 2004-04-11
  • 打赏
  • 举报
回复
可以在语句里直接写,也可以用存储过程,但都要用到事务。
dim cnn as new sqlconnection("server=localhost;.....")
dim cmd1 as new sqlcommand("insert......",cnn)
dim cmd2 as new sqlcommand("delete.....",cnn)
dim mytransaction as new sqltransaction=cnn.begintransaction()
cmd1.transaction=mytransaction
cmd2.transaction=mytransaction
try
cnn.open()
cmd1.executenoquery()
cmd2.executenonquery()
catch ex as exception
response.write(ex.message)
finally
cnn.close()
end try

也可以在存储过程中用
begin transaction

commit transaction

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧