[英]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.