在finally{}中关闭连接后,怎么返回结果集?? 可以在类里加一个标志,表示连接是否需要关闭.finally块里使标志位置位,在对象释放时检查标志位,再关闭连接. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我执行过程后关闭的例子,返回记录集也差不多,private OleDbCommand cmd=new OleDbCommand();#region 增加删除交易历史信息public int Execute_tt_computer_history(string execflag,int p_trans_type,string p_reasons,string p_computer_name,string pro_name){ int i; string proc_name=pro_name; cmd.Parameters.Clear(); cmd.Connection=new clsPublic().ConnectDB(); cmd.CommandText=proc_name; cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("execflag",OleDbType.VarChar); cmd.Parameters.Add("v_trans_type",OleDbType.Integer); cmd.Parameters.Add("v_trans_reasons",OleDbType.VarChar); cmd.Parameters.Add("v_computer_name",OleDbType.VarChar); cmd.Parameters.Add("p_out",OleDbType.Integer); cmd.Parameters["execflag"].Value=execflag; cmd.Parameters["v_trans_type"].Value=p_trans_type; cmd.Parameters["v_trans_reasons"].Value=p_reasons; cmd.Parameters["v_computer_name"].Value=p_computer_name; cmd.Parameters["execflag"].Direction=ParameterDirection.Input; cmd.Parameters["v_trans_type"].Direction=ParameterDirection.Input; cmd.Parameters["v_trans_reasons"].Direction=ParameterDirection.Input; cmd.Parameters["v_computer_name"].Direction=ParameterDirection.Input; cmd.Parameters["p_out"].Direction=ParameterDirection.ReturnValue;try{ cmd.ExecuteNonQuery(); i=(int)cmd.Parameters["p_out"].Value;}catch{ i=-3;}finally{ if(cmd.Connection.State==ConnectionState.Open) { cmd.Connection.Close(); cmd.Parameters.Clear(); cmd.Dispose(); }}return i; } #endregion 求助一个简单的 PL/SQL编成 3 两表组合查询 关于pl/sql中的jobs的用法 oracle登陆问题 ORA-01268错误问题,急。 存储过程读取xml文件 谁能告诉我 现在oracle在企业中的应用情况? 如何找到oracle的bug database? 刚学oracle!参与者有份 oracle那个效率更高呢 计算机更改了,所有设置是否无效??等待... OracleOraHome81ManagementServer启动不了,本机的Management Server叫什么名字
#region 增加删除交易历史信息
public int Execute_tt_computer_history(string execflag,int p_trans_type,string p_reasons,string p_computer_name,string pro_name)
{
int i;
string proc_name=pro_name;
cmd.Parameters.Clear();
cmd.Connection=new clsPublic().ConnectDB();
cmd.CommandText=proc_name;
cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("execflag",OleDbType.VarChar);
cmd.Parameters.Add("v_trans_type",OleDbType.Integer);
cmd.Parameters.Add("v_trans_reasons",OleDbType.VarChar);
cmd.Parameters.Add("v_computer_name",OleDbType.VarChar);
cmd.Parameters.Add("p_out",OleDbType.Integer);
cmd.Parameters["execflag"].Value=execflag;
cmd.Parameters["v_trans_type"].Value=p_trans_type;
cmd.Parameters["v_trans_reasons"].Value=p_reasons;
cmd.Parameters["v_computer_name"].Value=p_computer_name;
cmd.Parameters["execflag"].Direction=ParameterDirection.Input;
cmd.Parameters["v_trans_type"].Direction=ParameterDirection.Input;
cmd.Parameters["v_trans_reasons"].Direction=ParameterDirection.Input;
cmd.Parameters["v_computer_name"].Direction=ParameterDirection.Input;
cmd.Parameters["p_out"].Direction=ParameterDirection.ReturnValue;
try
{
cmd.ExecuteNonQuery();
i=(int)cmd.Parameters["p_out"].Value;
}
catch
{
i=-3;
}
finally
{
if(cmd.Connection.State==ConnectionState.Open)
{
cmd.Connection.Close();
cmd.Parameters.Clear();
cmd.Dispose();
}
}
return i;
}
#endregion