Avatar billede dta Nybegynder
11. februar 2008 - 23:33 Der er 2 kommentarer

Gem Image i Accessdatabase

Jeg prøver at gemme et image i en Accessdatabase, med følgende kode. Der er ingen fejlmeddelse men billede kommer ikke frem?

    Protected Sub Upload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Upload.Click
        Dim intFileLength As Integer, bytData() As Byte
        Dim objStream As System.IO.Stream


        If FileUpload1.HasFile Then
            Try
                intFileLength = FileUpload1.PostedFile.ContentLength
                ReDim bytData(intFileLength)
                objStream = FileUpload1.PostedFile.InputStream
                objStream.Read(bytData, 0, intFileLength)

                'Save images to Database
                Dim MyCon As OleDbConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
                Dim myCommand As New OleDbCommand

                myCommand.CommandText = "INSERT INTO [vaerker] ([Navn], [Billede], [Type],  [Created]) VALUES (@Navn, @Billede, @Type, @Created)"
                myCommand.Connection = MyCon

                Dim Param0 As New OleDbParameter
                Param0.ParameterName = "@Navn"
                Param0.OleDbType = OleDbType.VarChar
                Param0.Size = 50
                Param0.Direction = ParameterDirection.Input
                Param0.Value = Navn.Text

                Dim Param1 As New OleDbParameter
                Param1.ParameterName = "@Billede"
                Param1.OleDbType = OleDbType.VarBinary
                Param1.Size = intFileLength
                Param1.Direction = ParameterDirection.Input
                Param1.Value = bytData

                Dim Param2 As New OleDbParameter
                Param2.ParameterName = "@Type"
                Param2.OleDbType = OleDbType.VarChar
                Param2.Size = 50
                Param2.Direction = ParameterDirection.Input
                Param2.Value = DropDownList1.SelectedValue

                Dim Param3 As New OleDbParameter
                Param3.ParameterName = "@Created"
                Param3.OleDbType = OleDbType.DBDate
                Param3.Direction = ParameterDirection.Input
                Param3.Value = Now()

                myCommand.Parameters.Add(Param0)
                myCommand.Parameters.Add(Param1)
                myCommand.Parameters.Add(Param2)
                myCommand.Parameters.Add(Param3)
             

                MyCon.Open()
                myCommand.ExecuteNonQuery()
                MyCon.Close()


            Catch ex As Exception
                StatusUpload.Text = "Fil ikke uploaded " & ex.Message
            End Try
        End If
    End Sub
Avatar billede arne_v Ekspert
12. februar 2008 - 03:19 #1
Nu er der ikke noget i den kode som viser billede.

Bliver billedet gemt i databasen ?

Er du sikker på at der ikke smides en exception ?

Måske skal:

                myCommand.CommandText = "INSERT INTO [vaerker] ([Navn], [Billede], [Type],  [Created]) VALUES (@Navn, @Billede, @Type, @Created)"

være:

                myCommand.CommandText = "INSERT INTO [vaerker] ([Navn], [Billede], [Type],  [Created]) VALUES (?, ?, ?, ?)"
Avatar billede dta Nybegynder
12. februar 2008 - 09:07 #2
Den smider ikke en exception, tværdigmod virker det fint og der kommer data i databasen, men den viser ikke noget billede, med et tilsvarende script der henter fra databasen. Det skal siges at det er en ASP side der er ved at blive lavet om til .net, og billeer som er lagt ind med det "gamle" ASP script vises fint, men ikke de "Nye" billeder der lægges ind med dette script?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester