給你個(gè)范例:
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)尉氏免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
CREATE OR REPLACE FUNCTION f_jax_str2tab(p_str IN VARCHAR2,
p_sep varchar2 default ','
) RETURN type_jax_varc2tab IS
/******************************************************************
Ver1.0 Created by jaxzhang on 2009-06-08
把字符串(1*2*3*4*5)轉(zhuǎn)換為內(nèi)存表形式
create or replace type type_jax_varc2tab is table of varchar2(2000);
測(cè)試用例:SELECT * FROM TABLE(f_jax_str2tab('1*2*3*4*5','*'));
******************************************************************/
v_str varchar2(2000);
v_cnt NUMBER ;
v_numtab type_jax_varc2tab := type_jax_varc2tab(); --返回內(nèi)存表
BEGIN
select decode(substr(p_str,-1),p_sep,p_str,p_str || p_sep) into v_str from dual;
select length(v_str) - length(REPLACE(v_str, p_sep)) into v_cnt from dual;
FOR i IN 1 .. v_cnt LOOP
v_numtab.EXTEND;
v_numtab(i) := substr(v_str, 1, instr(v_str, p_sep) - 1);
v_str := substr(v_str, instr(v_str,p_sep) + 1);
END LOOP;
RETURN v_numtab;
EXCEPTION
WHEN OTHERS THEN
v_numtab.DELETE;
END;
利用游標(biāo)將查詢結(jié)果插入到一個(gè)表里!
或者存儲(chǔ)到定義的數(shù)組中!
返回結(jié)果集合成什么樣?
一條記錄直接輸出?
你可以把返回的結(jié)果插到一張表里,然后去看不就行了嗎?
你可以把每次查詢,改成每次插入一張表里,回過(guò)頭再看結(jié)果集
例如,數(shù)據(jù)庫(kù)中user_tables表儲(chǔ)存用戶所有的表,如果想把這些表名集合加載到listbox中,以下代碼可以實(shí)現(xiàn):
private?void?GetTableName()
{
OracleConnection?conn=new?OracleConnection("data?source=dbname;User?Id=scott;Password=scott;");//創(chuàng)建連接串
conn.Open();?
string?sql="select?table_name?from?user_tables";
OracleCommand?cmd=new?OracleCommand(sql,conn);
OracleDataAdapter?odr=new?OracleDataAdapter(cmd);
DataTable?dt?=?new?DataTable();
odr.Fill(dt);
for(int?i=0;idt.Rows.Count;i++)
{
string?item=dt.Rows[i][0].ToString();//獲取數(shù)據(jù)庫(kù)中第i行第一列的值
listbox.Items.Add(item);//添加到listbox中
}
conn.Close();
}