vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Bild aus Datenbank in PictureBox 
Autor: nilslueders
Datum: 11.10.04 08:25

Hallo,
ich möchte ein Bild aus der Datenbank in einer PictureBox darstellen. Ich relisiere das, indem ich das Bild aus der Datenbank in einer Datei speicher und dieses dann in einer PictureBox öffne.
Jedoch kommt folgende Fehlermeldung, sobald ich ein zweites Bild aus der Datenbank temporär speichern möchte, und somit die bestehende Datei überschreibe
Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen _
  Prozess verwendet wird.
Ich habe gelesen, dass man die Datei folgendermaßen wieder freigeben muss
System.Drawing.Image.FromStream(fs).Dispose()
Das funktionier aber auch nicht. Es kommt die Fehlermeldung
System.ArgumentException: Ungültiger Parameter verwendet.
at System.Drawing.ImageFromStream(Stream stream, Boolean _
  useEmbeddedColorManagement)
at System.Drawing.Image.FromStream(Stream stream)
at programmname.Funktionen.OpenPictureFromDB(Int32 BildID, String Speicherort) _
  in C:\programmname\Funktionen.vb:line 97
Der vollständige Code sieht folgendermaßen aus:
    Public Function OpenPictureFromDB(ByVal BildID As Integer, ByVal _
      Speicherort As String)
        If Speicherort = "OpenPicture" Then Speicherort = _
        Application.StartupPath + "\OpenPicture.tmp"
        Dim co As New SqlConnection("workstation id=SQLSERVER;packet" & _
        "size=4096;user id=sa;data source=SQLSERVER;persist security" & _
        "info=True;initial catalog=DATENBANK;password=xxx")
        Dim cmd As New SqlCommand
        Dim dr As SqlDataReader
        Dim fs As New IO.FileStream(Speicherort, IO.FileMode.Create, _
          IO.FileAccess.Write)
        Dim buff As Byte()
        cmd.Connection = co
        cmd.CommandText = "SELECT Bild FROM Bilder WHERE ID=" & BildID
        co.Open()
        Try
            dr = cmd.ExecuteReader(CommandBehavior.Default)
            Try
                If dr.Read Then
                    buff = dr("Bild")
                    fs.Write(buff, 0, buff.Length)
                    System.Drawing.Image.FromStream(fs).Dispose()
                    fs.Close()
                Else
                    MsgBox("Es ist kein Datensatz vorhanden mit der ID " & _
                      BildID)
                    dr.Close()
                    co.Close()
                End If
            Catch ex As Exception
                MsgBox(ex.ToString)
            Finally
                dr.Close()
            End Try
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            co.Close()
        End Try
    End Function
 
    Public Function mnu_BildAnsehen()
        Dim DS As DataSet = SqlSelect("SELECT * FROM Objekte WHERE ID=" + _
          Hauptfenster.LinkListe.FocusedItem.Tag) 'Deklaration eines 
        ' Datensatzes; Auswahl des zu öffnenden Datensatzes
        If DS.Tables(0).Rows(0).Item("Bild").ToString = "0" Then
            MsgBox("Das ausgewählte Produkt enthält kein Bild", _
              MsgBoxStyle.Exclamation, "Achtung")
        Else
            OpenPictureFromDB(CInt(DS.Tables(0).Rows(0).Item("Bild").ToString), _
              "OpenPicture")
            Dim FensterBildAnsehen As New BildAnsehen
            FensterBildAnsehen.Text = Hauptfenster.LinkListe.FocusedItem.Text
            FensterBildAnsehen.BackgroundImage = System.Drawing.Image.FromFile( _
              Application.StartupPath + "\OpenPicture.tmp")
            FensterBildAnsehen.ShowDialog()
        End If
    End Function
Was mache ich falsch???

N I C H T S - I S T - S O - W I E - E S - S C H E I N T

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bild aus Datenbank in PictureBox1.628nilslueders11.10.04 08:25
Re: Bild aus Datenbank in PictureBox844nilslueders11.10.04 08:26
Re: Bild aus Datenbank in PictureBox1.001Drapondur11.10.04 16:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel