|
|
|
เรื่อง Listview กับ Mysql และ รูปภาพ โดย VB 2008 มีปัญหา ทั้งหมด 5 ข้อ รบกวนท่านผู้รู้มาตอบด้วยนะครับ |
|
|
|
|
|
|
|
รบกวนหน่อยครับ คือ ตอนนี้ โปรแกรม ผม (ที่เขียนมาจาก visual basic 2008) มีปัญหา ทั้งหมด 5 ข้อนะครับ
1. ผมไ่ม่รู้ว่า ฐานข้อมูล Mysql จะต้อง กำหนด รูปภาพ เป็น BLOB หรือ เป็น Path ดี โดยที่ ทั้ง สองวิธีนี้ วิธีไหน ง่ายสุด
2. ผมไม่ทราบว่า เวลาผม จะ เขียน โปรแกรม ให้ รูปภาพ นะครับ ให้มัน ลง ไปในฐานข้อมูลยังไง (ขอทั้ง 2 แบบ ทั้ง BLOB และ แบบ Path จะดีมากเลยนะครับ) โดยที่ผมใช้วิธีเขียน เป็นแบบนี้
Code (VB.NET)
conn = New MySqlConnection("server=localhost; user id=root; password=root; database=rental;")
conn.Open()
sqlquery = "INSERT INTO customer(code , surname ,lastname ,gendle ,address ,occu ,tel ,email ,day_reg ,picture) VALUES ('" + Code_customer + "','" + Surname_Customer + "','" + Lastname_Customer + "','" + Gendle_Customer + "','" + Address_Customer + "','" + Occu_Customer + "','" + Tel_Customer + "','" + Email_Customer + "','" + Register_Customer + "','" + Picture_Customer + "');"
mycommand.CommandText = sqlquery
mycommand.Connection = conn
mycommand.ExecuteNonQuery()
MsgBox("success")
mycommand.Dispose()
status = 0
Me.filllistview()
conn.Close()
โดยที่ Me.fillistview() นี่หมายถึง พอ Insert ข้อมูลปุ๊บ ข้อมูลใหม่ ก็จะขึ้นใน Listview เลย (ผมไม่ใช้ Datagridview เพราะอาจารย์เขาไม่ให้ใช้ ครับ ซึ่งผมก็ไม่ทราบว่าทำไมไม่ให้ใช้ - -*)
ซึ่ง Code ตอนนี้ก็ Insert ไ้ด้หมดแล้ว ครับ ยกเว้น Picture มันไม่เข้าโดยที่ ผมทำ Linklebel ไว้
Private Sub LnkPic_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LnkPic.LinkClicked
With OpenFileDialog1
.Filter = "Image Files(*.gif;*.jpg)|*.gif;*.jpg"
.FileName = ""
If (.ShowDialog() = DialogResult.OK) Then
PictureBox.Image = Image.FromFile(.FileName)
End If
End With
End Sub
End Class
Code นี้เป็นการ เอารูปภาพ ไปใส่ไว้ ใน PictureBox ครับ (ไม่ได้หมายความว่าจะเอาลงฐานข้อมูลนะครับแค่ให้มันโชว์รูปเฉยๆ)
3. ผมไม่ทราบว่า เวลา ผม Click ที่ Listview เช่น Column ของ นาย A แล้ว รูปภาพ มันไม่ ไป โชว์ที่ PictureBox ผมไม่ทราบว่า จะต้องทำอย่างไร
Code (VB.NET)
Private Sub ListViewEx1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListViewEx1.MouseClick
txt_Code.Text = ListViewEx1.SelectedItems(0).SubItems(0).Text
txt_Surname.Text = ListViewEx1.SelectedItems(0).SubItems(1).Text
txt_Lastname.Text = ListViewEx1.SelectedItems(0).SubItems(2).Text
Combo_Gen.Text = ListViewEx1.SelectedItems(0).SubItems(3).Text
txt_Address.Text = ListViewEx1.SelectedItems(0).SubItems(4).Text
txt_Occu.Text = ListViewEx1.SelectedItems(0).SubItems(5).Text
txt_Tel.Text = ListViewEx1.SelectedItems(0).SubItems(6).Text
txt_Email.Text = ListViewEx1.SelectedItems(0).SubItems(7).Text
Dt_Register.Text = ListViewEx1.SelectedItems(0).SubItems(8).Text
PictureBox.Text = ListViewEx1.SelectedItems(0).SubItems(9).Text
End Sub
ที่ผม ทำให้มัน Click นะครับ มันไม่ขึ้น
4. ผมไม่ทราบ Clear รูปภาพได้ ครับ โดยสมมติ ผม กด ปุ่ม Clear หรือ บันทึกข้อมูล ไปแล้ว ข้อมูล ทุกอย่าง มันจะต้องหาย โดยปกติ ก็จะใช้ .clear() ไม่ก็ .text = "" ผมไม่ทราบเหตุการณ์ จริงๆๆ ครับ ว่า จะต้องทำเช่นไร รบกวนด้วยครับ
5. Concept ในการ Update และก็ Delete ของ รูปภาพ นี่ คล้ายๆ กับ Insert หรือเปล่าครับ รบกวนด้วยนะครับ
ปล ขอความกรุณา และ อนุเคราะห์ด้วยนะครับ ขอร้อง อย่าบอกว่า ทำไม ไม่หา อะไรยังงี้ ผม หาแล้ว แต่ มัน งง มาก ไม่เข้าใจเลย รบกวนด้วยนะครับบ
"การให้ทานเป็นบุญที่ยิ่งใหญ่กว่าทำบุญ"
Tag : .NET, MySQL, Win (Windows App), VB.NET, VS 2008 (.NET 3.x)
|
|
|
|
|
|
Date :
2011-10-02 12:49:44 |
By :
bigsuntat |
View :
2043 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนผู้รู้มาตอบด้วย นะครับ ขอบคุณครับ ผมรอคำตอบอยู่นะครับ ^^
|
|
|
|
|
Date :
2011-10-02 12:52:47 |
By :
bigsuntat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนด้วยครับ
|
|
|
|
|
Date :
2011-10-02 13:46:40 |
By :
bigsuntat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังรออยู่นะครับ
|
|
|
|
|
Date :
2011-10-02 16:29:15 |
By :
bigsuntat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาตามนี้นะ
1.เก็บเฉพาะชื่อรูปครับใน DB เช่น picture.jpg เป็นต้น และ Copy ไปเก็บไว้ใน Folder โดยที่ Floder อยู่ใน Debug หรือ Release อันนี้ขึ้นอยู่กับคุณว่าใช้ตัวไหน เพื่อที่จะได้อ้างไฟล์จาก Application.StartupPath
2.การเรียกมาใช้ก็แค่ query มาปกติครับ โดยถ้าจะเอามาแสดใน Picturebox ก็เรียกผ่าน
Code (VB.NET)
PictureBox1.ImageLocation = Application.StartupPath = "(Folderที่เก็บไฟล์รูป)"
3.การ Clear รูปภาพ ก็
Code (VB.NET)
PictureBox1.ImageLocation = String.Empty
4. ส่วนการ Update และก็ Delete อันอ้าง ID อยู่แล้วใช่ปะครับ Update ก็ Update ไปปกติครับ Delete ก็ Delete ที่ ID ครับ ทำเหมือนปกติครับ
ปล. เก็บใน DB เป็น text ธรรมดาครับ เก้บแค่ชื่อรูปภาพครับ
|
|
|
|
|
Date :
2011-10-02 18:10:24 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2012-02-06 11:56:43 |
By :
carol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|