[.NET] 透過 window form 存圖檔至 Oracle DB
請輸入專案類型(網站專案或者應用程式專案):應用程式專案
我寫了一個 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
推
04/25 00:34, , 1F
04/25 00:34, 1F