另一个 OracleParameterCollection 中已包含 OracleParameter
2016-06-27 21:35
1036 查看
出现这个错误的时候,我按照百度来的方法 在finally里面加cmd.Parameters.Clear(); 在
前面加cmd.Parameters.Clear(); 都不管用 后来 发现又找到一种方法 这回管用了:
OracleParameter pp = (OracleParameter)((ICloneable)parm).Clone();
cmd.Parameters.Add(pp);
foreach (OracleParameter parm in cmdParms) { cmd.Parameters.Add(parm); }
前面加cmd.Parameters.Clear(); 都不管用 后来 发现又找到一种方法 这回管用了:
OracleParameter pp = (OracleParameter)((ICloneable)parm).Clone();
cmd.Parameters.Add(pp);
/// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString">查询语句</param> /// <returns>DataSet</returns> public static DataSet Query(string SQLString,params OracleParameter[] cmdParms) { using (OracleConnection connection = new OracleConnection(connectionString)) { using (OracleCommand cmd = new OracleCommand()) { PrepareCommand(cmd, connection, null, SQLString, cmdParms); using (OracleDataAdapter da = new OracleDataAdapter(cmd)) { DataSet ds = new DataSet(); try { da.Fill(ds, "ds"); cmd.Parameters.Clear(); } catch (System.Data.OracleClient.OracleException ex) { throw new Exception(ex.Message); } finally { cmd.Parameters.Clear(); } return ds; } } } }
private static void PrepareCommand(OracleCommand cmd,OracleConnection conn,OracleTransaction trans, string cmdText, OracleParameter[] cmdParms) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = CommandType.Text;//cmdType; if (cmdParms != null) { cmd.Parameters.Clear(); foreach (OracleParameter parm in cmdParms) { OracleParameter pp = (OracleParameter)((ICloneable)parm).Clone(); cmd.Parameters.Add(pp); } } }
相关文章推荐
- OracleParameterCollection 只接受非空的 OracleParameter 类型对象
- 另一个 OracleParameterCollection 中已包含 OracleParameter
- Oracle中合理利用临时表解决in语句的优化过程
- Oracle中合理利用临时表解决in语句的优化过程
- oracle 常用相关sql 语句
- oracle字符查出一位
- Oracle密码过期ORA-28001: the password has expired解决办法
- oracle
- oracle中的替换函数replace和translate函数
- oracle快速方便复制某一张表的表字段
- J2EE之oracle、mysql存储过程调用
- JDBC连接Oracle RAC的连接串配置
- 临时表空间概念
- Oracle xmltype解决方案
- oracle xmltype解决方案
- 安装oracle12c后,用dbca建数据库老遇到ora-12560错误的解决策
- oracle,mysql对敏感,关键字等处理
- 设置oracle帐号密码永久不过期
- ORACLE中CONNECT BY...START WITH用法
- Oracle之Linux下核心参数