vb.net无法在oracle DB中更新
我正在用VB.NET和Oracle DB开发小程序。 要更新列值时出现问题 这是我的代码:vb.net无法在oracle DB中更新,vb.net,oracle,Vb.net,Oracle,我正在用VB.NET和Oracle DB开发小程序。 要更新列值时出现问题 这是我的代码: getOraConn() trans = ora_conn.BeginTransaction(IsolationLevel.ReadCommitted) cmdOr.Transaction = trans Try cmdOr.CommandText = "update tbl_study set flag='0'" cmdOr.Connection
getOraConn()
trans = ora_conn.BeginTransaction(IsolationLevel.ReadCommitted)
cmdOr.Transaction = trans
Try
cmdOr.CommandText = "update tbl_study set flag='0'"
cmdOr.Connection = ora_conn
cmdOr.ExecuteNonQuery()
trans.Commit()
ora_conn.Close()
MessageBox.Show("sucess")
Catch ex As Exception
MessageBox.Show(ex.Message)
trans.Rollback()
End Try
当我运行这段代码时,它总是挂起在“cmdOr.ExecuteNonQuery()”,然后DB中的列仍然没有更改
这是我的Oracle连接字符串:
Function getOraConn() As OracleConnection
Dim oradb As String = "Data Source=SPEC; User Id=sta; Password=sta123;Pooling=False;"
Try
ora_conn = New OracleConnection(oradb)
ora_conn.Open()
Catch ex As Exception
MsgBox("connection failed", MsgBoxStyle.Critical)
End Try
End Function
要清楚一点,你是说如果你一行一行地调试代码,当你进入
cmdOr.ExecuteNonQuery()
并进入下一行时,你永远不会真正进入下一行,不管你等待多长时间,对吗?@jmcilhinney是的,对了,顺便说一句,getOraConn
方法非常糟糕。我的意思是你在使用它,而不是它是如何写的。将连接字符串存储在一个地方是一个更好的主意,但在需要的地方创建、打开、使用和关闭连接对象。应根据需要创建、使用和放弃命令对象等。我建议你检查一下例子。只有在您有特定的原因时才重用对象,例如使用相同的数据适配器检索和保存对象。我建议您采纳我的建议,在使用对象的位置创建连接和命令,并查看是否发生相同的情况。这可能是你在其他地方做过的事情,这可能会让你很难找到它。@jmcilhinney我已经试过了。但结果还是一样。仅供参考,我可以选择表格并获取列的值