巧巧電腦網路
2010-02-25 qqread 佚名
收藏此文
大中小
分享到qq空間
人人網開心網
豆瓣更多
本文給出了讀寫oracle的特殊資料型別struct和varray的操作方法。首先,建立型別 create type struct_test as object(s varchar(30), i number); create type number_varray as varray(10) of number(12, 2); 然後。
本文給出了讀寫oracle的特殊資料型別struct和varray的操作方法。
首先,建立型別
create type struct_test as object(s varchar(30), i number);
create type number_varray as varray(10) of number(12, 2);
然後,建立表
create table test(i number, obj struct_test);
reate table varray_table(col_number_array number_varray)
然後,插入資料
//插入struct資料
object values = new object;
oracle.sql.structdescriptor structdesc =oracle.sql.structdescriptor.createdescriptor(」struct_test」, cn);
oracle.sql.struct oraclestruct = new oracle.sql.struct(structdesc, cn, values);
// create a prepared statement for insertion into test
preparedstatement ps = connection.preparestatement(」insert into test values(?,?)」);
// set the values to insert
ps.setint(1, 123);
ps.setobject(2, oraclestruct);
// insert the new row
ps.execute();
//插入varray資料
// create an oracle.sql.array object to hold the values
oracle.sql.arraydescriptor arraydesc = oracle.sql.arraydescriptor.createdescriptor(」number_varray」, connection);
int arrayvalues = ;
oracle.sql.array array = new oracle.sql.array(arraydesc, cn, arrayvalues);
// create a prepared statement for insertion into varray_table
preparedstatement ps = cn.preparestatement(」insert into varray_table values(?)」);
// set the values to insert
((oracle.jdbc.driver.oraclepreparedstatement)ps).setarray(1, array);
// insert the new row
ps.execute();
最後,讀取資料
//讀取struct資料
resultset resultset = stmt.executequery(」select * from test」);
while (resultset.next())
catch (sqlexception e)
stmt.execute ("create type string_varray as varray(10) of varchar2(100)");
stmt.execute ("create table sample_varray_table (acol string_varray)");
//insert using sql
stmt.execute ("insert into sample_varray_table values (string_varray('test1', 'test2'))");
resultset rs = stmt.executequery("select acol from sample_varray_table");
printresultset (rs);
//insert using arraydescriptor
// create a new array object
string arrayelements = ;
arraydescriptor desc = arraydescriptor.createdescriptor
("string_varray", conn);
array newarray = new array(desc, conn, arrayelements);
preparedstatement ps =
conn.preparestatement ("insert into sample_varray_table values (?)");
((oraclepreparedstatement)ps).setarray (1, newarray);
ps.execute ();
rs = stmt.executequery("select acol from sample_varray_table");
printresultset (rs);
// close all the resources
rs.close();
ps.close();
stmt.close();
conn.close();
}public static void printresultset (resultset rs)
throws sqlexception
public static void sendstruct()
...;
object so2 = ...;
oraclecallablestatement callstatement = null;
class.forname("oracle.jdbc.driver.oracledriver");
dbconn = drivermanager.getconnection("jdbc:oracle:thin:@servername:port:ora", "username", "password");
structdescriptor st = new structdescriptor("department_type",dbconn);
struct s1 = new struct(st,dbconn,so1);
struct s2 = new struct(st,dbconn,so2);
struct deptarray = ...;
arraydescriptor arraydept = arraydescriptor.createdescriptor("dept_array", dbconn);
array deptarrayobject = new array(arraydept, dbconn, deptarray);
callstatement = (oraclecallablestatement)dbconn.preparecall("");
((oraclecallablestatement)callstatement).setarray(1, deptarrayobject);
callstatement.executeupdate();
dbconn.commit();
callstatement.close();
} catch(exception e)...
}}
va和tn玩遊戲哪個好 va和tn哪個傷眼睛
va面板 tn面板區別 1 tn面板 重新整理速度快,無漏光,可視角一般最小,色彩失真,相對便宜,高重新整理率的電競屏一樣很貴。顯示器選va還是tn這些點很重要看過你就懂了 2 va面板 對比度高,無漏光,但可視角相對來說較窄,根據觀察角度會存在不同程度的色彩偏移的情況。2 va面板 tn面板特點 ...
va 的注釋巨集
將要注釋的類名拷貝。將游標放到空白處從va工具欄中選中該巨集名即可 類名 clipboard 基類 baseclassname klobject 命名空間 klseis kldata datamodel 作者 ryy 建立時間 year month day hour minute 描述 end 將要...
struct的用法和struct的對齊原則
struct在c語言中作為結構體。結構體定義 struct stu 使用 struct stu a 或者省略關鍵字struct stu a 也可以定義和使用同時 struct stu a 在後續使用中,出現結構體型別的地方都可以在前面加struct,用來提醒別人這個型別是自定義結構體 當然也可以省略...