oracle查询blob数据,C#查询Oracle clob blob数据
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数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php网站同时在线人数,也谈php网站在
- 下一篇: oracle 提取首字母,oracle