小妹在CSDN社区受益匪浅,首先感谢各位对我的帮组!
还有迷惑希望大家继续帮忙啊。
在ORACEL中保存大对象数据应该采用什么样的格式,BLOB还是CLOB?有什么差别呢?该怎样保存?怎样将内容输出到页面呢?
再次谢谢大家!!
完了,只有这么多分了,不好意思啊!!
还有迷惑希望大家继续帮忙啊。
在ORACEL中保存大对象数据应该采用什么样的格式,BLOB还是CLOB?有什么差别呢?该怎样保存?怎样将内容输出到页面呢?
再次谢谢大家!!
完了,只有这么多分了,不好意思啊!!
调试欢乐多
Imports System.Data.OracleClientUpdateDeptLOGO方法是将图片更新到数据库。ShowDeptLOGO方法是将图片取出来放到PictureBox上。至于输出到Asp.net页面上也类似,只不过目标变为Response了可以用Response.BinaryWrite方法,将图片的Byte()输出。 Public Sub UpdateDeptLOGO(ByVal intDeptNO As Integer, ByVal bytsLogo As Byte())
Dim strSql As String = "UPDATE DEPT_LOGO SET LOGO=:PI_LOGO WHERE DEPTNO=:PI_DEPTNO" Try
objConn = New OracleConnection(strConn)
objComm = New OracleCommand(strSql, objConn)
objComm.Parameters.Add("PI_LOGO", OracleType.Blob).Value = bytsLogo
objComm.Parameters.Add("PI_DEPTNO", OracleType.Number).Value = intDeptNO
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 Public Sub ShowDeptLOGO(ByVal intDeptNO As Integer)
Dim strSql As String = "SELECT LOGO FROM DEPT_LOGO WHERE DEPTNO=:PI_DEPTNO"
Dim objDataReader As OracleDataReader
Dim bytsLogo() As Byte
Dim ms As MemoryStream
Try
objConn = New OracleConnection(strConn)
objComm = New OracleCommand(strSql, objConn)
objComm.Parameters.Add("PI_DEPTNO", OracleType.Number).Value = intDeptNO
objConn.Open()
objDataReader = objComm.ExecuteReader(CommandBehavior.SequentialAccess)
If objDataReader.Read() Then
ms = New MemoryStream(CType(objDataReader.GetValue(0), Byte()))
Me.PictureBox1.Image = New Bitmap(ms)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
If Not objConn Is Nothing Then
objConn.Close()
End If
End Try
End Sub Public Shared Function GetPicture(ByVal filePath As String) As Byte()
Dim fs As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim br As BinaryReader = New BinaryReader(fs) Dim picture() As Byte = br.ReadBytes(fs.Length) br.Close()
fs.Close() Return picture
End Function
CLOB存大文本读取都可以(DataAdpter,DataReader)
DR:
(byte[])DR["LobField"]DA,DS:
(byte[])ds.Tables[0].Rows[i]["LobField"]see:
http://calmzeal.cnblogs.com/archive/2006/04/19/379109.html