【问题标题】:Oracle Update Query From a C# interface来自 C# 接口的 Oracle 更新查询
【发布时间】:2013-04-16 17:00:01
【问题描述】:

我遇到了 C# 中的更新查询问题。对我来说很奇怪,我在更新时遇到问题,但选择、删除和插入工作正常。

  public void updateTeacherInfo(string SSN, string Classroom, string salary, string tenured, string phone)
    {

        OracleConnection conn = new OracleConnection("myconnectionstring;");

        conn.Open();
        OracleCommand cmd = new OracleCommand("Update Teachers Set classroom_number = :TRM, Salary = :TSALARY, Tenured = :TTENURE, Phone_numer = :TPHONE Where SSN = :TSSN", conn);
        OracleCommand commit = new OracleCommand("COMMIT", conn);
        cmd.Parameters.Add(new OracleParameter(":TSSN", SSN));
        cmd.Parameters.Add(new OracleParameter(":TRM", Classroom));
        cmd.Parameters.Add(new OracleParameter(":TSALARY", salary));
        cmd.Parameters.Add(new OracleParameter(":TTENURE", tenured));
        cmd.Parameters.Add(new OracleParameter(":TPHONE", phone));


       int i = cmd.ExecuteNonQuery();
       int k = commit.ExecuteNonQuery();

       MessageBox.Show(i + " rows affected");
       MessageBox.Show(k + " rows affected");


        conn.Close();

    }

Edit* 其余的方法来清理,而且,它不会抛出任何错误,但不会更新数据库。

【问题讨论】:

  • 你正在使用的参数值设置是什么?
  • 到底是怎么回事:错误信息?没有更新?
  • 我的 C# 接口,这是一个从 form1 调用的方法,变量是正确的,因为我之前有它给我一个列出所有参数的消息框。
  • 抱歉,没有更新,但没有任何错误信息。
  • 长镜头:您在 C# 中的 SSN 数据类型是什么,在 Oracle 中它的数据类型是什么?另外,有问题的 SSN 是否有前导零?过去我在处理 C# 类型为数字(intlong 等)和 Oracle 类型为字符串(charvarchar2 等)或其他方式时遇到过麻烦周围,​​当 SSN 有前导零或两个时,问题似乎更加严重。

标签: c# oracle sql-update


【解决方案1】:

以正确的顺序放置Parameters.Add。在您的更新查询中

"Update Teachers Set classroom_number = :TRM, Salary = :TSALARY, Tenured = :TTENURE, Phone_numer = :TPHONE Where SSN = :TSSN"

:TRM 首先发生,同样。所以保持Parameters.Add也以相同的顺序。它会起作用的。顺序是:

cmd.Parameters.Add(new OracleParameter(":TRM", Classroom));
cmd.Parameters.Add(new OracleParameter(":TSALARY", salary)); 
cmd.Parameters.Add(new OracleParameter(":TTENURE", tenured));
cmd.Parameters.Add(new OracleParameter(":TPHONE", phone));
cmd.Parameters.Add(new OracleParameter(":TSSN", SSN));    

【讨论】:

    猜你喜欢
    • 2019-05-20
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多