c# - 使用游标和过程时连接关闭
问题描述
我的代码是-
string oracleb = "Data source=HPPRO58; user ID=system; password=deb;";
conn = new OracleConnection(oracleb);
//conn.Open();
conn.Open();
String x3 = "google";
String x1 ;
String x2;
String s1 = "delete from temp";
OracleCommand comm = new OracleCommand(s1, conn);
comm.ExecuteNonQuery();
OracleCommand comm2 = new OracleCommand();
String s2 = "cv";
comm2.Connection = conn;
comm2.CommandText = s2;
comm2.CommandType = CommandType.StoredProcedure;
comm2.Parameters.Add("x", System.Data.OracleClient.OracleType.Number).Value = comboBox1.Text;
comm2.Parameters.Add("y", System.Data.OracleClient.OracleType.Number).Value = comboBox2.Text;
comm2.Parameters.Add("z", System.Data.OracleClient.OracleType.Number).Value = x3;
comm2.ExecuteNonQuery();
String s3 = "select * from temp";
OracleCommand comm3 = new OracleCommand(s3, conn);
OracleDataAdapter MyAdapter3 = new OracleDataAdapter();//adapter acts as interface btw database and dataset(which is collectio of tables)
MyAdapter3.SelectCommand = comm;
DataTable dTable3 = new DataTable();//datatable represents a single table in database
MyAdapter3.Fill(dTable3);
dataGridView1.DataSource = dTable3;
conn.Close();
我的错误是-
我正在尝试运行一个也有游标的过程。因此我使用了 3 个通信变量。但是我收到了上述错误。因此我想知道如何解决它。
我在函数开始时打开了连接,但仍然显示连接已关闭。
编辑-
我的程序名称是 cv
我的程序-
create or replace procedure cv(x in int,y in int,z in varchar)
as
cursor c
is
select email,collegename,cgpa,compname
from student_cv
where (cgpa>=x and yearsofexp>=y) and compname=z;
tem c%rowtype;
begin
open c;
loop
fetch c into tem;
exit when c%notfound;
insert into temp values(tem.email,tem.collegename,tem.cgpa,tem.compname);
end loop;
end;
/
第59行是-
comm2.Parameters.Add("x", System.Data.OracleClient.OracleType.Number).Value = comboBox1.Text;
解决方案
推荐阅读
- excel - 如何使用 Excel VBA 有条件地添加和删除表中的某些行
- machine-learning - 类的混淆矩阵子集无法正常工作
- arrays - 如何创建由程序集中的寄存器定义的大小的初始化数组?
- python - 某个呼叫类别的第一次呼叫与同一呼叫类别的后续呼叫之间的调查分数差异
- javascript - 求解未知指数
- google-apps-script - 清除单元格时出错 - 简单脚本
- java - 无法加载我的世界插件
- sql - Rails:如何在 rails 的非 id 列上创建聚集索引?
- python - 创建一个序列,其中每个元素中的两个满足特定距离标准
- powershell - 在 Powershell 的 WHERE 子句中添加多个 -and 和 -or 语句