Oracle参数化更新查询c#

时间:2018-03-19 08:16:19

标签: sql oracle oracle-manageddataaccess

它应该有效,但事实并非如此。

我已经推荐了其他人,但找不到原因。

 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();

提前致谢。

Joon

1 个答案:

答案 0 :(得分:1)

我发现为什么它没有更新表。

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

 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();

感谢所有关注它的人。