c# - 在 C# 中运行时,Oracle 更新命令冻结
问题描述
当我从 SQL Developer 运行它时,我有一个运行良好的更新语句。但是,当我尝试在 C# 中运行它时,程序将冻结在执行命令的行上并且不输出任何内容。我将其定义如下:
private static OracleCommand cmd = new OracleCommand();
private static OracleConnection conn = new OracleConnection();
conn.ConnectionString = Properties.Settings.Default.myconstring;
cmd.Connection = conn;
cmd.CommandText = "UPDATE mytable SET PARAM1 = :param1 WHERE PARAM2 = :param2";
cmd.CommandType = CommandType.Text;
cmd.BindByName = true;
cmd.Parameters.Clear();
cmd.Parameters.Add(new OracleParameter(":param1", OracleDbType.Single)).Value = param1Val;
cmd.Parameters.Add(new OracleParameter(":param2", OracleDbType.Int32)).Value = param2Val;
conn.Open();
try {
cmd.ExecuteNonQuery(); //Freezes here
} catch(Exception e) {
MessageBox.Show(e.ToString());
}
conn.Close();
我已经验证了我输入的值是正确的。
解决方案
推荐阅读
- mysql - 仅显示价格满足条件的行(与最近的价格行相比)
- java - 一个线程中的 StackOverFlow 异常会导致应用程序停止吗?
- c# - 如何使网格固定,不受滚动影响?
- ios - 参数:[字符串:任意]
- django - 如何在没有外键列的情况下从 django 的管理员端导入 csv 文件
- laravel - PHP Swagger 应用 JSON API 规范标准
- amazon-drive - Amazon Drive API 是否仍对新开发人员关闭?
- java - 将工作簿转换为资源
- javascript - Jest 仅在“__tests__”文件夹中运行以 .test.js 结尾的测试
- c# - FluentValidation:验证仅设置了一个属性