vb.net中关于大字段(Clob,blob)的完整实例

来源:互联网 发布:淘宝全球购活动报名 编辑:程序博客网 时间:2024/04/30 03:58

vb.net中关于Oracle大字段(Clob,blob)的完整实例

     前两天,在网上看到一位高人写的关于大字段类型的实例,但是好多地方很不详细,我现在手上有自己实现的一个完整的实例,现在就给大家共享出来。希望可以和大家一起分享一下自己的劳动。因为自己能位大家做点什么是我的光荣。好了,废话不多说了,下面就是我的关于一个Clob的例子。

首先自己建个表,表的格式是这样的。

create table test (id number,text clob);

上面就是自己的表了,很简单的,由一个id数字类型的。该表中text是自己要实现的Clob字段类型。在普通的varchar类型中,最多可以存4000个半角字符,也就是2000个汉字,但是用clob的话,可以存2个G的东东。然而blob是主要存图片的。它存完了以后是二进制的数据。

其次,是我的db类了,该类也是自己关联Oracle数据库的类了。代码主要如下:

这个方法是select 表内容的,

private function selectData() as datatable
dim objdataadapter as oracledataadapter
dim objdatatable as new datatable
try
objconn = new oracleconnection(strconn)
objdataadapter = new oracledataadapter("select * from test", objconn)
objdataadapter.fill(objdatatable)
catch ex as exception
messagebox.show(ex.message)
end try
return objdatatable
end function

这个方法是update的。

public sub updateData(byval pId as integer, byval pTemp as string)
dim strsql as string = "update test set  text=:pTemp where id=:pId"

try
objconn = new oracleconnection(strconn)
objcomm = new oraclecommand(strsql, objconn)
objcomm.parameters.add("text", oracletype.Clob).value = pTemp
objcomm.parameters.add("id", oracletype.number).value = pId
objconn.open()
objcomm.executenonquery()
catch ex as exception
messagebox.show(ex.message)
finally
if not objconn is nothing then
objconn.close()
end if
end try

end sub

一次类推想什么insert,和delete都是一样的了。如果是blob的话,那updateData的方法中第二个参数就必须是byte()了。

要想得到byte()的方法有:比方是textarea中的图片的话,就是这样的 dim bTemp as byte() =

 encoding.unicode.getbytes(me.textarea.text.tostring.totrim)
把图片变成二进制的数据就可存到数据库中。

第一次写东东,有些话说不好希望大家能够体谅。呵呵呵。。。。

谢谢大家。

 

原创粉丝点击