[英]ExecuteNonQuery doesn't respond?
我想更新表中的某些列,但是ExecuteNonQuery
不响应(超时)。 我做错什么了吗?
注意:在数据库表中, id
是整数, F1
varchar2,我要发送的参数是string和int。
try {
using (OracleConnection con = new OracleConnection(ConString)) {
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "UPDATE DB.Table "+
"SET F1= :yd" +
"WHERE ID = :id";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("yd", yd);
cmd.Parameters.Add("id", id);
cmd.ExecuteNonQuery();
con.Close();
return true;
}
}
catch (Exception ex) {
return false;
}
谢谢
可以通过在Oracle开发人员或计算机上运行的任何其他IDE上 提交或回滚未决事务来解决此问题。
您正在混淆参数名称。 查询中没有名为“ F1”的参数,请使用“ yd”。
cmd.CommandText = "UPDATE DB.Table "+
"SET F1= :yd" +
"WHERE ID = :id";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("yd", yd);
cmd.Parameters.Add("id", id);
我发现这是因为蟾蜍等其他程序会锁定查询。 将所有东西都投入蟾蜍后,一切都解决了。
感谢大家的帮助。 我爱你们,我喜欢集思广益:)
cmd.Connection = con;
string qry = "UPDATE DB.Table "+"SET F1= @yd" +"WHERE ID = @id";
OracleCommand cmd = new OracleCommand(qry,con);
cmd.Parameters.AddWithValue("@yd", yd);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.