1.写SQL的话直接写就好了,注意不要出现count聚合函数等,一定要用的话,用count(*) over()

public static ListQueryDate(string date, string sn)

{

try

{

Listlist = new List(); //DataTable2 自定义类,存储DB返回数据

string sql = @" select HISDATA,STARTTIME,SN,DEL from app001.DataTable2 where 1=1";

if (!string.IsNullOrEmpty(date))

{

sql += " and STARTTIME = to_date('" + date + "','yyyy-mm-dd hh24:mi:ss') ";

}

if (!string.IsNullOrEmpty(sn))

{

sql += " and sn = '" + sn + "'";

}

using (IDataReader dr = ExecDataReader(sql))

{

while (dr.Read())

{

DataTable2 model = new DataTable2();

model.HISDATA = dr["HISDATA"].ToString();

model.STARTTIME = dr["STARTTIME"].ToString();

model.SN = dr["SN"].ToString();

model.DEL = dr["DEL"].ToString();

list.Add(model);

}

}

return list;

}

public static List QueryDate(string ID, string User_Name, string Model_Name, string SN, string Start_Time, string End_Time, string Page, string PageNums)

{

try

{

List list = new List();

OracleConnection conn = CreateConnection();

OracleCommand cmd = new OracleCommand(“APP022.APP_OXYGEN_PRO.PRO_QUERY_DATA”, conn);

cmd.CommandType = CommandType.StoredProcedure;

OracleParameter p1 = new OracleParameter(“ID_v”, OracleDbType.Varchar2, 100);

p1.Direction = System.Data.ParameterDirection.Input;

p1.Value = ID;

cmd.Parameters.Add(p1);

OracleParameter p2 = new OracleParameter(“User_Name_v”, OracleDbType.Varchar2, 100);

p2.Direction = System.Data.ParameterDirection.Input;

p2.Value = User_Name;

cmd.Parameters.Add(p2);

OracleParameter p3 = new OracleParameter(“Model_Name_v”, OracleDbType.Varchar2, 100);

p3.Direction = System.Data.ParameterDirection.Input;

p3.Value = Model_Name;

cmd.Parameters.Add(p3);

OracleParameter p4 = new OracleParameter(“SN_v”, OracleDbType.Varchar2, 100);

p4.Direction = System.Data.ParameterDirection.Input;

p4.Value = SN;

cmd.Parameters.Add(p4);

OracleParameter p5 = new OracleParameter("Start_Time_v", OracleDbType.Varchar2 , 100);

p5.Direction = System.Data.ParameterDirection.Input;

p5.Value = Start_Time;

cmd.Parameters.Add(p5);

OracleParameter p6 = new OracleParameter("End_Time_v", OracleDbType.Varchar2 , 100);

p6.Direction = System.Data.ParameterDirection.Input;

p6.Value = End_Time;

cmd.Parameters.Add(p6);

OracleParameter p7 = new OracleParameter("Page", OracleDbType.Varchar2, 100);

p7.Direction = System.Data.ParameterDirection.Input;

p7.Value = Page;

cmd.Parameters.Add(p7);

OracleParameter p8 = new OracleParameter("PageNums", OracleDbType.Varchar2, 100);

p8.Direction = System.Data.ParameterDirection.Input;

p8.Value = PageNums;

cmd.Parameters.Add(p8);

OracleParameter p9 = new OracleParameter("RET", OracleDbType.RefCursor);

p9.Direction = System.Data.ParameterDirection.Output;

cmd.Parameters.Add(p9);

// cmd.ExecuteNonQuery();

// OracleDataReader dr = (OracleDataReader)cmd.ExecuteScalar();

// OracleDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

// OracleDataReader dr = cmd.ExecuteReader();

// IDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

OracleDataAdapter da = new OracleDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

HEARTRATEDATA model = new HEARTRATEDATA(); //自定义类

model.ID = ds.Tables[0].Rows[i]["ID"].ToString();

model.User_Name = ds.Tables[0].Rows[i]["USER_NAME"].ToString();

model.Model_Name = ds.Tables[0].Rows[i]["Model_Name"].ToString();

model.SN = ds.Tables[0].Rows[i]["SN"].ToString();

model.Start_Time = ds.Tables[0].Rows[i]["START_TIME"].ToString();

model.End_Time = ds.Tables[0].Rows[i]["END_TIME"].ToString();

model.Test_Time = ds.Tables[0].Rows[i]["TEST_TIME"].ToString();

model.Heart_Rate = ds.Tables[0].Rows[i]["HEART_RATE"].ToString();

list.Add(model);

}

conn.Close();

return list;

}

catch (Exception e)

{

JUSTEC_LogHelper.LogHelper.WriteLog("Disposes错误提示:", "Disposes.QueryDate方法出错:" + e.ToString());

//throw;

return null;

}

}

也可以用OracleDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);接收存储过程返回结果集

while(dr.Read())

{

HEARTRATEDATA model = new HEARTRATEDATA();

model.ID = dr[“ID”].Tostring();

model.Heart_Rate = dr[“HEART_RATE”].Tostring();

list.Add(model);

}

查询不到结果的时候:

1.先看Oracle中 Clob字段类型是否已经保存了数据,用编辑器查

2.所需执行的SQL 在数据库中查出来的结果是否Clob字段有数据,要使用编辑器看

oracle查询blob数据,C#查询Oracle clob blob数据相关推荐

  1. oracle里面的long,long raw,raw,clob,blob区别

    ORACLE LOB类型提供了BFILE.BLOB.CLOB.NCLOB让我们来存储最大尺寸有4G的无结构的数据块(例如:文本.图像.声音和视频等).并且它们右以以高效的.任意的和分段操作的方式存取数 ...

  2. oracle查询blob模糊搜索,BLOB字段模糊查询

    1. BLOB字段模糊查询报错 blob字段直接用select   * from  table_name  where  column  like'%%'查找的时候是不能实现的,主要是字段类型不符.不 ...

  3. oracle查询多张表交集,Oracle中对两个数据表交集的查询-专栏,ORACLE

    oracle关系型管理系统是世界上流行的关系,它是一个极其强悍.灵活和复杂的系统,据说,在使用oracle时应有这样的观念,那就是在sql中近乎可以推动任何一种想法. 下面向你们介绍使用sql查两个o ...

  4. oracle 数据为当前月 查询结果为累计到当前月的数据_Oracle里的执行计划——使用explain plan命令...

    事实上,Oracle优化的绝大多数可以归结为对SQL执行顺序的调整 1.什么是执行计划? 为了执行SQL语句,Oracle在内部必须实现很多步骤,这些步骤可以从数据库中物理检索数据行,或者用某种方式来 ...

  5. Oracle取排序的第五条数据,OVER(PARTITION BY)函数介绍 【oracle中按A分组按B排序,再取B中第一条数据的查询】...

    目录 一.小案例: school表中有①id 序号②class 班级 ③score成绩 三个字段, 使用oracle实现按照班级分区,然后取班级中的第一名. 1.1测试数据如下: --创建学校表sch ...

  6. oracle dba_waiters中的lockid是什么,查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL...

    查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL 数据库阻塞检查处理方法 当应用服务器发生阻塞时(特别是集群1),应先按下面方法检查数据库,以判明应用服务器阻塞是否由数据库阻塞引起. 如果 ...

  7. oracle分组查询取第一条数据,160804、oracle查询:取出每组中的第一条记录

    oracle查询:取出每组中的第一条记录 按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group b ...

  8. oracle主表子表,oracle查询包含在子表中的主表数据

    Oracle数据库,查询某表中包含在子表中的数据,子表中数据按特定条件来源于该父表,SQL命令如 select * from a_table a where a.commandId in (selec ...

  9. oracle数据查字符集,Oracle数据库字符集的查询

    Oracle数据库字符集通俗的讲就是一个字节数据的相关的解释的符号集合,它具有 大小的差异,也有互相包容关系.Oracle是支持国家语言的相关体系结构,它允许你使用本地化语言来存储,处理,检索数据.它 ...

  10. oracle数据按条件清表,ociuldr v2.1 支持CLOB,BLOB数据类型

    1.dcba的ociuldr工具 ociuldr这个工具初始是由dcba开发的,用的是v7版的oci函数库 目的是完成导出Oracle中的数据到文本文件这样的功能 这个工具流传的非常广 详细介绍可以参 ...

最新文章

  1. WPF学习拾遗(二)TextBlock换行
  2. mysql两列查询结果列拼接一个表输出_sql select语句,查询出两列结果拼接在一起...
  3. 后盾网lavarel视频项目---5、淘宝镜像cnpm的原理及如何使用
  4. 健身三大供能系统详解
  5. signature=78718ebfda6f8d955fae3e9c9c284f5d,SKI SAFETY BINDING WITH SWIVELLING SOLE PLATE
  6. Linux共享内存(二)
  7. NYOJ 682 初学者的烦恼
  8. kafka监控linux脚本,zabbix监控kafka
  9. dem聚类只能成为一类
  10. 【2019浙江省赛 - K 】Strings in the Pocket(马拉车,思维)
  11. leetcode 112 --- 二叉树根节点到叶子节点和为指定值的路径
  12. python socket udp_python网络-Socket之udp编程(24)
  13. opencv模糊图像变清晰_opencv-python 4.2图像模糊
  14. 火狐浏览器工具栏/折叠菜单怎么设置?火狐浏览器工具栏/折叠菜单定制教程
  15. 【自动控制原理】 时域分析法
  16. 第十二届蓝桥杯模拟赛Python组(第一期)
  17. jQuery 添加 input 表单提交 无数据
  18. Spring核心JAR包
  19. jpg/png格式的图片转换成eps格式
  20. java控制台输入做界面_Java控制台输入

热门文章

  1. 5、MySQL事务隔离级别详解
  2. 将数据到处到Excel
  3. hdu oj1096题解
  4. 【PAT乙级】1025 反转链表 (25 分)
  5. vue 方法里面修改样式_vue中修改swiper样式
  6. tvpvar模型的建模步骤_框架箱涵建筑信息建模
  7. SQL 性能优化梳理,干掉慢SQL!
  8. centos 上yum命令删除还原补救方法
  9. linux mmu的实现的讲解_Linux中的物理内存管理 [一]
  10. 二分大法| 求X的开方,结果一个公式解决! (力扣69.X 的平方根)