并发问题????

shj521 2004-11-09 01:53:08
try
dim da As SqlDataAdapter = New SqlClient.SqlDataAdapter
da.InsertCommand = cmd
da.InsertCommand.ExecuteNonQuery()

Catch dbcx As DBConcurrencyException
messagebox.show("并发error")
end try
以上代码想解决并发问题,不过不行,必须得用acceptchange方法吗?
da.update(ds) 方法不好用,记录插不进去,有什么好方法,谢谢!!!!
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shj521 2004-11-10
  • 打赏
  • 举报
回复
不行,有没有高手赐教
吐司vivi 2004-11-09
  • 打赏
  • 举报
回复
可以把原数据集ds先清空,再用da.update(ds) 方法
shj521 2004-11-09
  • 打赏
  • 举报
回复
我想解决并发问题
shj521 2004-11-09
  • 打赏
  • 举报
回复
da.InsertCommand.ExecuteNonQuery()
以上如果出现并发能触发DBConcurrencyException异常吗?

youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
Dim DBClass As New EasyConnection
Dim EasyCn As New SqlConnection
EasyCn = DBClass.Open("Standard")
Dim MySqlStr As String
Dim TestDataSet As New DataSet '判断数据库中是否有相同ID的记录
Dim TestDataTable As New DataTable
Dim IsHasRecord As String
Dim DBIsHasRecord As Boolean
IsHasRecord = "select Status_Type,Status_ID from ST_Status where Status_Type='" & _Status_Type & "' and Status_ID='" & _Status_ID & "'"
TestDataSet = EasyRun.ExecuteDataset(EasyCn, CommandType.Text, IsHasRecord)
TestDataTable = TestDataSet.Tables(0)
If TestDataTable.Rows.Count = 1 Then
Return DBIsHasRecord
End If
Try
MySqlStr = "insert into ST_Status(Status_Type,Status_ID,Status_Name,Status_Serial,Status_Remark)values('" & _Status_Type & " ','" & _Status_ID & "','" & _Status_Name & " ','" & _Status_Serial & " ','" & _Status_Remark & "' )"
EffectNum = EasyRun.ExecuteNonQuery(EasyCn, CommandType.Text, MySqlStr)

Catch ex As Exception
Dim exm As String = ex.Message
Throw ex
Finally

DBClass.Close(EasyCn)
End Try
viena 2004-11-09
  • 打赏
  • 举报
回复
jxzhang615 2004-11-09
  • 打赏
  • 举报
回复
帮顶!

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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