2

它应该工作,但它没有。

我转介了其他人,但找不到原因。

 OracleCommand cmd = con.CreateCommand();           
 var query = $@"UPDATE Customer SET ContactName = :ct WHERE CustomerID = :id";
 cmd.CommandText = query;
 cmd.Parameters.Clear();
 cmd.Parameters.Add(new OracleParameter(":id", OracleDbType.Varchar2, "bbb1", System.Data.ParameterDirection.Input));
 cmd.Parameters.Add(new OracleParameter(":ct", OracleDbType.Varchar2, "Joon", System.Data.ParameterDirection.Input));
 var rst = cmd.ExecuteNonQuery();

提前致谢。

4

1 回答 1

6

我找到了为什么它没有更新表。

为了使它工作,我按查询参数的顺序添加了参数,发现它有效。但是我仍然不明白为什么添加参数的顺序对于使其工作如此重要。但很清楚的是,当我这样做时它正在工作:

 OracleCommand cmd = con.CreateCommand();           
 var query = $@"UPDATE Customer SET ContactName = :ct WHERE CustomerID = :id";
 cmd.CommandText = query;
 cmd.Parameters.Clear();

 cmd.Parameters.Add(new OracleParameter(":ct", OracleDbType.Varchar2, "Joon", System.Data.ParameterDirection.Input));
 cmd.Parameters.Add(new OracleParameter(":id", OracleDbType.Varchar2, "bbb1", System.Data.ParameterDirection.Input));
 var rst = cmd.ExecuteNonQuery();

感谢所有关注它的人。

于 2018-03-20T04:13:53.440 回答