作者linus (天使不见了)
看板Visual_Basic
标题[.NET] 透过 window form 存图档至 Oracle DB
时间Fri Apr 24 22:22:32 2009
请输入专案类型(网站专案或者应用程式专案):应用程式专案
我写了一个 window form,
有一个 textBox 可以输入来源档路径,
在远端的 Oracle DB (8i) 建了一个 table,
栏位与格式如下,
栏位 格式
PIC_ID --> Number
PIC --> BLOB
想要把来源档路径的图片传到 DB server,
存在 DB 中,
(这是初步, 之後希望透过读DB然後秀出图档在 window form 画面上)
不过遇到一个问题...(底下的 code 是 google 上找到拿来修改的)
在执行到 cmd.ExecuteNonQuery() 这一行的时候,
会出现 ORA 错误....
ORA-01036: illegal variable name/number
请教一下到底是哪里有问题....>"<
谢谢...
=======code=====
Imports System.Data.OracleClient
Imports System
Imports System.Data
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub btnUpload_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUpload.Click
Dim con As OracleConnection = New OracleConnection("Data
Source=SFCS_TEST;Persist Security Info=True;User
ID=sfcs;Password=sfcs;Unicode=True")
con.Open()
Dim img_path As String
img_path = Me.txtPath.Text.ToString
Dim Fs As FileStream = New FileStream(img_path, FileMode.Open,
FileAccess.Read)
Dim ImageData As Byte()
ReDim ImageData(Fs.Length)
Fs.Read(ImageData, 0, System.Convert.ToInt32(Fs.Length))
Fs.Close()
Dim sql = " BEGIN " & _
" INSERT INTO TEST_STORE_PIC (id, photo) VALUES (100, :1);"
& _
" end;"
Dim cmd As New OracleClient.OracleCommand()
cmd.CommandText = sql
cmd.Connection = con
cmd.CommandType = CommandType.Text
Dim param As OracleParameter = cmd.Parameters.Add("blobtodb",
OracleType.Blob)
param.Direction = ParameterDirection.Input
param.Value = ImageData
cmd.ExecuteNonQuery()
con.Close()
End Sub
End Class
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.109.143
1F:推 kenimai:":1" 改成 ":blobtodb" 呢 ? 04/25 00:34