导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

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

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)

...全文
12 点赞 收藏 7
写回复
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
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告