 |
|
อยากทราบ Code ที่ดึงไฟล์ภาพจาก Access มาแสดงบน VB อ่ะครับ |
|
 |
|
|
 |
 |
|
Code (VB.NET)
Dim photo() As Byte = data.Tables("cat").Rows(0)("CustomerPicture")
ไม่มันใจนะครับ แต่ว่า กำลังงงว่า ทำไมถึงมาแล้วเก็บไว้ที่ตัวแปล Byte ซึ่งปกติ พอได้มาจะเป็น String นะครับ
data.Tables("cat").Rows(0)("CustomerPicture") << ถ้าเข้าใจไม่ผิด คือดึงบรรทัดที่ 0 ของ colums "CustomerPicture" มา
น่าจะได้เป็น String ที่ไ่ม่ใช้ Array นิครับ
|
ประวัติการแก้ไข 2010-12-13 10:59:38
 |
 |
 |
 |
Date :
2010-12-13 10:57:54 |
By :
zero1150kfc |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ในฐานข้อมูลเก็บเป็น binary code ใช้ปะครับ
ลองใส่ () หลัง MemoryStream ตอนประกาศอะครับ
เป็น Dim streamPhoto As New MemoryStream()
|
 |
 |
 |
 |
Date :
2010-12-13 11:02:54 |
By :
stricken |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
cmd = New SqlCommand("select imgfile from myimages where imgname=@param", conn)
cmd.Parameters.Add("@param", SqlDbType.NVarChar, 30)
Dim img As Byte() = DirectCast(cmd.ExecuteScalar(), Byte())
Dim streamPhoto As New MemoryStream()
streamPhoto.Write(img, 0, img.Length)
Dim bit As New Bitmap(streamPhoto)
PictureBox1.Image = bit
ลองดูครับ
|
ประวัติการแก้ไข 2010-12-13 11:07:07
 |
 |
 |
 |
Date :
2010-12-13 11:05:53 |
By :
stricken |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง ดูค่า ของ photo ดุครับ ว่าค่าที่ qurey นั้นถูกต้องหรือเปล่าครับ
|
 |
 |
 |
 |
Date :
2010-12-13 11:18:19 |
By :
zero1150kfc |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
(โค้ดที่ผมให้ไปเป็นฐานข้อมูล MSSQL เปลี่ยนจาก SqlCommand เป็น OleDbCommand )
@ มันคือพารามิเตอร์ของคำสั่ง sql อะครับ
เห่อๆ โทษทีครับ ผมอธิบายไม่ถูก เอา function ไปใช้เลยอะคับ
function นี้ผมให้หารูปภาพโดยส่ง รหัสของภาพยนต์มา (movId) แล้ว return เป็นรูปประเภท bitmap
Code (VB.NET)
Public Shared Function GetMovieImg(ByVal movId As String) As Bitmap
Try
cmd = New SqlCommand("SELECT movImg from Movie WHERE movId = @movId ", conn)
cmd.Parameters.Add("@movId", SqlDbType.NVarChar).Value = movId
Dim img As Byte() = DirectCast(cmd.ExecuteScalar(), Byte())
Dim str As New MemoryStream()
str.Write(img, 0, img.Length)
Dim bit As New Bitmap(str)
Return bit
Catch ex As Exception
Return Nothing
End Try
End Function
เวลาใช้ก็
Code (VB.NET)
PictureBox1.image = GetMovieImg(movieId)
|
ประวัติการแก้ไข 2010-12-13 13:36:06
 |
 |
 |
 |
Date :
2010-12-13 13:34:15 |
By :
stricken |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|