ACCESS數據庫升級到SQL數據庫(二) 圖片的存儲

 

一、使用ODBCADAPTER進行更新,須要加入Dim db As New Odbc.OdbcCommandBuilder(ada)ui

 1         dim myfilestream As New System.IO.FileStream(filename, IO.FileMode.Open)
 2         Dim data(myfilestream.Length) As Byte
 3         
 4         myfilestream.Read(data, 0, myfilestream.Length)
 5         myfilestream.Close()
 6 
 7         Dim ada As Odbc.OdbcDataAdapter
 8         Dim rs As New DataTable
 9         Dim c_str As String
10         c_str = "select * from *"
11         If connect.State <> ConnectionState.Open Then
12             connect.Open()
13         End If
14         ada = New Odbc.OdbcDataAdapter(c_str, connect)
15         ada.Fill(rs)
16         rs.Rows(0)("圖片") = data
17         '必須加入下一行進行更新
18         Dim db As New Odbc.OdbcCommandBuilder(ada)
19         ada.Update(rs)
20         ada.Dispose()

二、使用SQL語句儲存       spa

        Dim c_str As String
        c_str = "update 製件信息 set 圖片=@data  where *"
        Dim mycommand As New Odbc.OdbcCommand(c_str)
        mycommand.CommandType = CommandType.StoredProcedure
        mycommand.Connection = connect
        Dim p As New Odbc.OdbcParameter("@data", Odbc.OdbcType.Image)
        p.Value = data
        mycommand.Parameters.Add(p)
        If connect.State <> ConnectionState.Open Then
            connect.Open()
        End If
        Try
            mycommand.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox("圖片寫人失敗" & vbNewLine & ex.Message)
        End Try

調試過程當中總出現無效的精度值錯誤,將代碼改成調試

        Dim c_str As String
        c_str = "update 製件信息 set 圖片=?  where *"
        Dim mycommand As New Odbc.OdbcCommand(c_str)
        mycommand.CommandType = CommandType.StoredProcedure
        mycommand.Connection = connect
        Dim p As New Odbc.OdbcParameter("@P1", Odbc.OdbcType.Image)
        p.Value = data
        mycommand.Parameters.Add(p)
        If connect.State <> ConnectionState.Open Then
            connect.Open()
        End If
        Try
            mycommand.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox("圖片寫人失敗" & vbNewLine & ex.Message)
        End Try

順利經過調試。。。。。。。。。。。竟然要採用?這種古老的變量申明方式,完全無語code

相關文章
相關標籤/搜索