【发布时间】: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# 类型为数字(
int、long等)和 Oracle 类型为字符串(char、varchar2等)或其他方式时遇到过麻烦周围,当 SSN 有前导零或两个时,问题似乎更加严重。
标签: c# oracle sql-update