Отправка значения параметра из строки в byte [] в SQL Server 2008 - PullRequest
0 голосов
/ 21 марта 2012

Я пытаюсь вставить изображение в базу данных, используя код ниже:

 Public Function insertIntomySQL(ByVal theV As String, ByVal theJID As Integer, ByVal theK As Integer, ByVal theS As Integer, ByVal theDRV As String, ByVal labelName As Integer) As String

        Dim path As String = "C:\inetpub\wwwroot\Services\Labels\" & labelName & ".png"
        Dim SQL As String = ""

        Dim fi As New FileInfo(path)            'ADDED
        Dim imgStream As Stream = fi.OpenRead   'ADDED
        Dim imgData(imgStream.Length) As Byte   'ADDED
        imgStream.Read(imgData, 0, fi.Length)   'ADDED

        connSql = New SqlConnection("Server=xxxxxxx;" & _
                                        "Database=xxx;" & _
                                        "User ID=xxxxxx;" & _
                                        "Password=xxxxxxx;" & _
                                        "Trusted_Connection=False;")

        Try
                SQL = "" & _
                    "INSERT INTO dbo.vwlabels (theV, theJID, theK, theS, theDR, theImg, insertDayTime)" & _
                    "VALUES ('" & theV & "', '" & theJID & "', '" & theK & "', '" & theS & "', '" & theDRV & "', @img, '" & Format(DateTime.Now, "yyyy-MM-dd H:mm:ss") & "');"

                myCommandSQL.Connection = connSql

                Dim pic As SqlParameter = New SqlParameter("@img", SqlDbType.Image)
                pic.Value = imgData 'ADDED
                myCommandSQL.Parameters.Add(pic)

                myCommandSQL.CommandText = SQL
                myCommandSQL.ExecuteNonQuery()
                connSql.Close()
                myCommandSQL.Dispose()
    etc etc.....

Но я получаю эту ошибку:

Не удалось преобразовать значение параметра изСтрока в байт [].

Что я забыл сделать?

Дэвид

ОБНОВЛЕНИЕ ОБНОВЛЕНО

См. Код выше ...


См. Код выше в OP для ответа.

...