display/Bild abrufen von sql-Datenbank in vb.net
Diesem sollte Recht einfach für einen Profi. Ich habe Bilder in der sql server-Datenbank, und ich möchte, um diese in meiner aspx - (vb.net -) Datei.
Ich habe in der aspx-dieses image control -
in vb.net ich habe angefangen, diese code -
Private Sub ImageDisplay()
Dim SqlCnn As SqlConnection = Nothing, sql As String = ""
ConnectDB(SqlCnn)
Try
sql = "SELECT image FROM employees (NOLOCK) WHERE ID =" & emp_id
sqlcmd = New SqlCommand(sqlstr, SqlCnn)
Dim imageData As Byte() = DirectCast(sqlcmd.ExecuteScalar(), Byte())
Dim newImage As Image = Nothing
If Not imageData Is Nothing Then
Using ms As New MemoryStream(imageData, 0, imageData.Length)
ms.Write(imageData, 0, imageData.Length)
newImage = Image.FromStream(ms, True)
End Using
image1.Image = newImage
End If
Catch ex As Exception
ReportError(ex)
Finally
CloseDB(SqlCnn)
End Try
End Sub
Bin ich immer Fehler auf 2 Plätze.
- newImage = Image.FromStream(ms, True)
- image1.Bild = newImage
Fromstream ist kein member von system.web.ui.webcontrols.Bild
und der zweite Fehler Bild ist kein member von system.web.ui.webcontrols.Bild
niemand?? cmon es kann nicht so schwer sein!!!
Haben Sie ein wenig Geduld. Menschen beantworten, wenn Sie geschehen, um zu sehen, Ihre Frage, Sie sitzen nicht herum 24-7 nur darauf gewartet.
haha np. anywyas ich versuche diesen code, aber schiefgehen. lassen Sie mich Bearbeiten Sie die Frage.
Haben Sie ein wenig Geduld. Menschen beantworten, wenn Sie geschehen, um zu sehen, Ihre Frage, Sie sitzen nicht herum 24-7 nur darauf gewartet.
haha np. anywyas ich versuche diesen code, aber schiefgehen. lassen Sie mich Bearbeiten Sie die Frage.
InformationsquelleAutor ferdd | 2010-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie beide ein command-Objekt und einen data-reader. Jedoch, Sie setzen Sie an der falschen Seite.
Wenn Sie überprüfen Sie heraus die Eigenschaften der
Image
Kontrolle, die Sie werden sehen, dass es keineImage
- Eigenschaft, Sie können also nicht ein Bild laden und in der Kontrolle. Der Grund dafür ist, dass Sie können nicht senden Sie die Seite und das Bild in der gleichen Antwort, stattdessen wird der browser die Anfrage der Bild getrennt, wenn die Seite geladen wird.Um das Bild aus der Datenbank und zeigt in der web-Seite benötigen Sie eine separate proxy-Seite, die Sie verwenden können, um nur die Bilddaten aus der Datenbank. In der
ImageUrl
Eigenschaft desImage
Kontrolle würde man so etwas wie"GetImage.ashx"
. Dann machen Sie einen HTTP-handler mit diesem Namen, wird einfach nur die Bilddaten aus der Datenbank und schreiben in den response stream.Beispiel:
Ich fügte hinzu, ein Beispiel oben.
InformationsquelleAutor Guffa
InformationsquelleAutor Vijay Raval