Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net无法在oracle DB中更新_Vb.net_Oracle - Fatal编程技术网

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

我正在用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 = 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我已经试过了。但结果还是一样。仅供参考,我可以选择表格并获取列的值