Try
'ถ้าเลือกไฟล์รูปภาพด้านซ้าย
If ImagefilenameLeft <> "" Then
fs = New FileStream(ImagefilenameLeft, FileMode.Open, FileAccess.Read) 'ให้เก็บไว้ที่อ็อบเจ็ก fs
ReDim CurrentImageLeft(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageLeft, 0, Convert.ToInt32(fs.Length)) 'ให้เก็บไล์รูปภาพไว้ที่ตัวแปรอาเรย์ currentimage ผ่านทางอ็อบเจ็ค fs
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
Else 'แต่ถ้าไม่ได้เลือกไฟล์รูปภาพ
tmpFileName = "c:\tmp.bmp" 'กำหนดพาธของไฟล์รูปภาพที่จะบันทึก
PictureLeft.ErrorImage.Save(tmpFileName) 'ให้บันทึกไฟล์ที่เก็บไว้ในคุณสมบัติ errorimage ไว้ที่พาธดังกล่าว
fs = New FileStream(tmpFileName, FileMode.Open, FileAccess.Read) 'ให้อ็อบเจ็ค fs อ่านออกมา
ReDim CurrentImageLeft(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageLeft, 0, Convert.ToInt32(fs.Length)) 'อ่านไฟล์รูปภาพเก็บไว้ที่ตัวแปรอาเรย์ currentimage
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
End If
'ถ้าเลือกไฟล์รูปภาพด้านหน้า
If ImagefilenameMatch <> "" Then
fs = New FileStream(ImagefilenameMatch, FileMode.Open, FileAccess.Read) 'ให้เก็บไว้ที่อ็อบเจ็ก fs
ReDim CurrentImageMatch(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageMatch, 0, Convert.ToInt32(fs.Length)) 'ให้เก็บไล์รูปภาพไว้ที่ตัวแปรอาเรย์ currentimage ผ่านทางอ็อบเจ็ค fs
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
Else 'แต่ถ้าไม่ได้เลือกไฟล์รูปภาพ
tmpFileName = "c:\tmp.bmp" 'กำหนดพาธของไฟล์รูปภาพที่จะบันทึก
PictureMatch.ErrorImage.Save(tmpFileName) 'ให้บันทึกไฟล์ที่เก็บไว้ในคุณสมบัติ errorimage ไว้ที่พาธดังกล่าว
fs = New FileStream(tmpFileName, FileMode.Open, FileAccess.Read) 'ให้อ็อบเจ็ค fs อ่านออกมา
ReDim CurrentImageMatch(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageMatch, 0, Convert.ToInt32(fs.Length)) 'อ่านไฟล์รูปภาพเก็บไว้ที่ตัวแปรอาเรย์ currentimage
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
End If
'ถ้าเลือกไฟล์รูปภาพด้านขวา
If ImagefilenameRight <> "" Then
fs = New FileStream(ImagefilenameRight, FileMode.Open, FileAccess.Read) 'ให้เก็บไว้ที่อ็อบเจ็ก fs
ReDim CurrentImageRitht(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageRitht, 0, Convert.ToInt32(fs.Length)) 'ให้เก็บไล์รูปภาพไว้ที่ตัวแปรอาเรย์ currentimage ผ่านทางอ็อบเจ็ค fs
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
Else 'แต่ถ้าไม่ได้เลือกไฟล์รูปภาพ
tmpFileName = "c:\tmp.bmp" 'กำหนดพาธของไฟล์รูปภาพที่จะบันทึก
PictureRight.ErrorImage.Save(tmpFileName) 'ให้บันทึกไฟล์ที่เก็บไว้ในคุณสมบัติ errorimage ไว้ที่พาธดังกล่าว
fs = New FileStream(tmpFileName, FileMode.Open, FileAccess.Read) 'ให้อ็อบเจ็ค fs อ่านออกมา
ReDim CurrentImageRitht(Convert.ToInt32(fs.Length)) 'กำหนดขนาดอาเรย์เท่ากับขนาดไฟล์รูปภาพ
fs.Read(CurrentImageRitht, 0, Convert.ToInt32(fs.Length)) 'อ่านไฟล์รูปภาพเก็บไว้ที่ตัวแปรอาเรย์ currentimage
fs.Close() 'ปิดการใช้งานอ็อบเจ็ค fs
End If
sb.Remove(0, sb.Length)
sb.Append("INSERT INTO HISTORY ")
sb.Append("(PID,His_Firstname,His_Lastname,TitleID,LevelID,")
sb.Append("Dateget,DateOut,dtmBirthday,Pic_Left,Pic_Match,Pic_Right) ")
If tsTxtSearch.Text.Trim() = "" Then
MessageBox.Show("กรุณากรอกข้อมูลที่ต้องการค้นหา", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
tsTxtSearch.Focus()
Exit Sub
Else
sb.Remove(0, sb.Length())
sb.Append(" SELECT HISTORY.* ")
Select Case tsCboSearch.SelectedIndex
Case 0
sb.Append(" WHERE (PID=@txtPid)")
Case 1
sb.Append(" WHERE (His_Firstname LIKE @txtFirstname)")
Case 2
sb.Append(" WHERE (His_lastname LIKE @txtLastname)")
Case 3
sb.Append(" WHERE (His_IDcard=@txtID_t1)")
End Select
sb.Append(" ORDER BY His_Firstname")
Dim sqlSearch As String
sqlSearch = sb.ToString()
dt = New DataTable()
com = New SqlCommand()
With com
.Parameters.Clear()
Select Case tsCboSearch.SelectedIndex
Case 0
.Parameters.Add("@txtPid", SqlDbType.NVarChar).Value = tsTxtSearch.Text.Trim()
Case 1
.Parameters.Add("@txtFirstname", SqlDbType.NVarChar).Value = "%" & tsTxtSearch.Text.Trim() & "%"
Case 2
.Parameters.Add("@txtLastname", SqlDbType.NVarChar).Value = "%" & tsTxtSearch.Text.Trim() & "%"
Case 3
.Parameters.Add("@txtID_t1", SqlDbType.NVarChar).Value = tsTxtSearch.Text.Trim()
End Select
.CommandText = sqlSearch
.CommandType = CommandType.Text
.Connection = Conn
dr = .ExecuteReader
'da.SelectCommand.CommandText = sqlSearch
'da.Fill(ds, "CurrentImage")
'CurrentImageLeft = CType(ds.Tables("CurrentImage").Rows.Item("Pic_Left"), Byte())
If dr.HasRows Then
dt.Load(dr)
********************************************************************************ตรงนี้เป็นโค๊ดที่ลองทำแต่ไม่ผ่านค่ะ
'CurrentImageLeft = CType(dt.TableName("sqlSearch").Rows.Item("Pic_Left"), Byte)
'CurrentImageLeft = (dt.Columns("Pic_Left"), Byte())
'Dim ms As New MemoryStream(CurrentImageLeft, True)
'PictureLeft.Image = Image.FromStream(ms)