Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > อยากทราบ Code ที่ดึงไฟล์ภาพจาก Access มาแสดงบน VB อ่ะครับ



 

อยากทราบ Code ที่ดึงไฟล์ภาพจาก Access มาแสดงบน VB อ่ะครับ

 



Topic : 053046



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger



Code (VB.NET)
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '< ภาพรูปภาพ
        Dim sql As String

        sql = "SELECT CustomerPicture FROM Customers"
        comm = New OleDbCommand(sql, conn)
        adapter = New OleDbDataAdapter(comm)
        Dim data As New DataSet
        adapter.Fill(data, "cat")
        Dim photo() As Byte = data.Tables("cat").Rows(0)("CustomerPicture")
        Dim streamPhoto As New MemoryStream
        streamPhoto.Write(photo, 78, photo.Length - 78)
        PictureBox1.Image = Image.FromStream(streamPhoto)
    End Sub


คือว่ามันดึงแล้ว Error บรรทัดที่ 9 อ่ะครับ (ผมติดต่อฐานข้อมูลได้หมดแล้วอ่ะครับ ) ติดตรงที่ Dim photo() As Byte = data.Tables("cat").Rows(0)("CustomerPicture")

ไม่เข้าใจว่ามันดึง ฟิวไหน Table ไหน อ่ะครับ

ช่วยอธิบายให้ครับ มือใหม่ครับ อ่านหนังสือประกอบก็ยังทำไม่ได้ -*-



Tag : .NET, Ms Access, VB.NET, VS 2008 (.NET 3.x)









ประวัติการแก้ไข
2010-12-13 10:54:42
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-12-13 10:51:48 By : Digitalhong View : 2964 Reply : 9
 

 

No. 1



โพสกระทู้ ( 410 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

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
 


 

No. 2



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 1 เขียนโดย : zero1150kfc เมื่อวันที่ 2010-12-13 10:57:54
รายละเอียดของการตอบ ::
... ผมก็ไม่ทราบเหมือนกันนะครับ เพราะทำตามในหนังสือ อ่า ครับ -*- มือใหม่อ่าครับ.....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:00:17 By : Digitalhong
 

 

No. 3



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 1 เขียนโดย : zero1150kfc เมื่อวันที่ 2010-12-13 10:57:54
รายละเอียดของการตอบ ::
ถ้าเปลี่ยนเป็น String มันจะ Error บรรทัด streamPhoto.Write(photo, 78, photo.Length - 78) << คำว่า Photo , 78 , photo

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:02:54 By : Digitalhong
 


 

No. 3



โพสกระทู้ ( 153 )
บทความ ( 0 )



สถานะออฟไลน์


ในฐานข้อมูลเก็บเป็น binary code ใช้ปะครับ

ลองใส่ () หลัง MemoryStream ตอนประกาศอะครับ

เป็น Dim streamPhoto As New MemoryStream()
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:02:54 By : stricken
 


 

No. 4



โพสกระทู้ ( 153 )
บทความ ( 0 )



สถานะออฟไลน์


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
 


 

No. 5



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 3 เขียนโดย : stricken เมื่อวันที่ 2010-12-13 11:02:54
รายละเอียดของการตอบ ::
ลองใส่แล้วครับ ก็ Error เหมือนเดิมครับ แต่ก็ขอบคุณครับสำหรับคำตอบ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:08:08 By : Digitalhong
 


 

No. 6



โพสกระทู้ ( 174 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 4 เขียนโดย : stricken เมื่อวันที่ 2010-12-13 11:05:53
รายละเอียดของการตอบ ::

Code (VB.NET)
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


มันใช้ยังไงหรอครับ -*- ผมมือใหม่

imgname=@param คือ เปรียบ อะไรหรอครับ

ถ้าเป็นไปได้ช่วยอธิบายแต่ละบรรทัดได้เลยก็ดีครับ ขอบคุณมากครับผม ><

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:10:20 By : Digitalhong
 


 

No. 7



โพสกระทู้ ( 410 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลอง ดูค่า ของ photo ดุครับ ว่าค่าที่ qurey นั้นถูกต้องหรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-12-13 11:18:19 By : zero1150kfc
 


 

No. 8



โพสกระทู้ ( 153 )
บทความ ( 0 )



สถานะออฟไลน์


(โค้ดที่ผมให้ไปเป็นฐานข้อมูล 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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบ Code ที่ดึงไฟล์ภาพจาก Access มาแสดงบน VB อ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่