Oracle参数化更新查询c#
Oracle parameterized update query c#
应该可以,但没有。
我已经介绍过其他人,但找不到原因。
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();
提前致谢。
俊
我找到了为什么它没有更新 table。
为了让它起作用,我按照查询参数的顺序添加了参数,发现它起作用了。但是我仍然不明白为什么添加参数的顺序对它如此重要 work.But 清楚的是当我这样做时它正在工作:
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();
谢谢大家的关注
俊
为了避免顺序声明,可以使用BindByName:
OracleCommand cmd = con.CreateCommand();
cmd.BindByName = true; // Just add this
...
应该可以,但没有。
我已经介绍过其他人,但找不到原因。
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();
提前致谢。
俊
我找到了为什么它没有更新 table。
为了让它起作用,我按照查询参数的顺序添加了参数,发现它起作用了。但是我仍然不明白为什么添加参数的顺序对它如此重要 work.But 清楚的是当我这样做时它正在工作:
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();
谢谢大家的关注
俊
为了避免顺序声明,可以使用BindByName:
OracleCommand cmd = con.CreateCommand();
cmd.BindByName = true; // Just add this
...