关闭Oracle表更新的正确方法 - C#。净

时间:2017-03-08 14:00:40

标签: c# oracle

我按照以下步骤更新oracle表:

  • 首先计算可观察的收集;指示列的属性。在WPF数据网格中显示此信息。我将此信息保存到Oracle数据库。这似乎工作正常。
  • 当网格打开时,我会更改一些单元格值。我将修改后的值重新保存到表中。这也很好。
  • 我尝试获取更新/修改的值以执行其他计算。我注意到我的程序仍然使用最初保存的值;即使数据库显示正确的值,它也没有选择修改后的值。 是否会发生因为我没有正确提交/关闭Oracle连接?

以下是我将数据保存到Oracle表中的代码:

using (OracleConnection thisConnection = new OracleConnection(connectionname))
{
    string query = "INSERT INTO TEST(WellBore,PDate, Pressure,Temperature)VALUES(:WellBore,:PDate,:Pressure,:Temperature)";

    OracleCommand myAccessCommand = new OracleCommand(query, thisConnection);

    var sdate = Datetime.Now.Date.ToShortDateString();

    myAccessCommand.Parameters.Add("WellBore", OracleDbType.NVarchar2, 20).Value = “ABC”;
    myAccessCommand.Parameters.Add("PDate", DateTime.Parse(sdate));
    myAccessCommand.Parameters.Add("Pressure", OracleDbType.Decimal).Value = 1000;
    myAccessCommand.Parameters.Add("Temperature ", OracleDbType.Decimal).Value = 50;
    thisConnection.Open();
    myAccessCommand.ExecuteNonQuery();
    thisConnection.Dispose();
}

所以我相信我的问题如何提交连接?

1 个答案:

答案 0 :(得分:1)

这是一个使用带有事务的insert语句的示例。它还会获取返回的id值,在您的情况下可能不需要,但无论如何:

Option Explicit

注意:" ConvertFromDB"只是将返回值强制转换为.NET等价物的泛型(在本例中为int)。同样,如果您没有获取返回的值,则不必担心它。