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 > ช่วยดูโค๊ดค้าหาของพนักงานให้หน่อยครับ รันผ่านแต่มันดูเหมือนจะบักๆ ช่วยอ่านทีครับ + มีรูปประกอบด้วยครับ



 

ช่วยดูโค๊ดค้าหาของพนักงานให้หน่อยครับ รันผ่านแต่มันดูเหมือนจะบักๆ ช่วยอ่านทีครับ + มีรูปประกอบด้วยครับ

 



Topic : 054511



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



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



1

รูปที่ 1 โปรแกรม พนักงานอ่ะครับ

2

รูปที่ 2 คือ เมื่อคลิกตรงListbox ฝั่งซ้ายมือคือชื่อของพนักงานจะโชว์รายละเอียดต่างใช้ได้ตามปกติ

3

รูปที่ 3 ตรงนี่แหละครับที่มีปัญหา คือว่าถ้ากรอก ข้อมูลในช่องค้นหา มันจะแสดงข้อมูลตรง แต่ถ้าไปคลิก Listbox ในรายชื่อพนักงานมันจะแสดงข้อมูลไม่ตรงกันที่คลิกแล้วละครับจะเป็นตามรูปที่ 4

4

รูปที่ 4
มันจะแสดงข้อมูลซ้ำกับตอนก่อนค้นหาครับ

นี่เป็นโค๊ต ค้นหาครับ
Code (VB.NET)
Sub Search()     ' ค้นหา
        If TbxSearch.Text = "" Then
            MessageBox.Show("กรุณาระบุรหัสพนักงานก่อน !!! ", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If
        Dim sql As String
        Dim dr As OleDbDataReader
        Dim ID As String
        ID = TbxSearch.Text.Trim
        sql = "select * from Employee where IDEmployee='" & ID & "'"
        Dim cmd As New OleDbCommand
        cmd.CommandType = CommandType.Text
        cmd.CommandText = sql
        cmd.Connection = connect
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            TbxIDEmployee2.Text = dr.Item("IDEmployee").ToString
            CMBTitleName2.Text = dr.Item("TitleName").ToString
            CMBSex2.Text = dr.Item("Sex").ToString
            TbxFullName2.Text = dr.Item("FullName").ToString
            MIDCard2.Text = dr.Item("IDCard").ToString
            CmbDay2.Text = dr.Item("a").ToString
            CmbMonth2.Text = dr.Item("b").ToString
            CmbYear2.Text = dr.Item("c").ToString
            Dim old, old2 As Integer ' โชว์อายุหลังค้นหา
            old = DateTime.Now.Year + 543
            old2 = old - CmbYear2.Text
            Tbxold2.Text = old2
            TbxAddress2.Text = dr.Item("Address").ToString
            TbxZipCode2.Text = dr.Item("ZipCode").ToString
            MPhoneNumber2.Text = dr.Item("PhoneNumber").ToString
            DateTimePicker2.Text = dr.Item("Start").ToString
            TbxAppointment2.Text = dr.Item("Appointment").ToString
            TbxSalary2.Text = dr.Item("Salary").ToString
            CMBEducation2.Text = dr.Item("Education").ToString
            TbxFaculty2.Text = dr.Item("Faculty").ToString
            TbxBranch2.Text = dr.Item("Branch").ToString

            Dim imgByte() As Byte = dataset.Tables("Employee").Rows((Val((Mid(ID, 2, 4)) - 1)))("Picture") ' test อยู่
            Dim imgstremam As New MemoryStream(imgByte)
            Picture2.Image = Image.FromStream(imgstremam)
            Dim index As Integer = (Val((Mid(ID, 2, 4)) - 1))

            ListBox1.SelectedIndex = index
            updateStatus()
            'TbxSearch.Text = ""
        Else
            MessageBox.Show("ไม่พบพนักงานในระบบ", "ค้นหา", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TbxSearch.SelectAll()
        End If

    End Sub


นี่เป็นโค๊ต Listbox ครับ
Code (VB.NET)
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim index As Integer = 0
        index = ListBox1.SelectedIndex      ' Check Index ของ List box ถ้าอยู่ใน Index ไหนให้ส่งค่าไปยังโปรแกรมย่อย
        Me.BindingContext(dataset, "Employee").Position = index
        If index = -1 Then      
            Return
        Else
            Showpicture(index) ' รับค่า Index จาก Listbox
            _position = index ' 
            updateStatus()
        End If
        If dataset.Tables("Employee").Rows(index)("c") Is DBNull.Value Then ' การคำนวณอายุ
            Tbxold2.Text = ""
            Return
        Else
            Dim old As Integer
            old = (DateTime.Now.Year + 543)
            Tbxold2.Text = (old - CmbYear2.Text)
        End If

    End Sub


สุดท้ายเป็น โค๊ด Bindings ใช้โชว์ข้อมูลพนักงาน
Code (VB.NET)
Sub BindingsShowE() ' โปรแกรมย่อยใช้โชว์ข้อมูลพนักงานหน้า Tab1

        Dim sql As String = "Select * from Employee"
        cmd = New OleDbCommand(sql, connect)
        adapter = New OleDbDataAdapter(cmd)
        dataset = New DataSet
        adapter.Fill(dataset, "Employee")
        Dim name As String
        ListBox1.Items.Clear()
        For i = 0 To dataset.Tables("Employee").Rows.Count - 1
            name = dataset.Tables("Employee").Rows(i)("TitleName")
            name &= (" ") & dataset.Tables("Employee").Rows(i)("FullName")
            ListBox1.Items.Add(name)
        Next
        TbxIDEmployee2.DataBindings.Add("text", dataset, "Employee.IDEmployee")
        CMBTitleName2.DataBindings.Add("text", dataset, "Employee.TitleName")
        CMBSex2.DataBindings.Add("text", dataset, "Employee.Sex")
        TbxFullName2.DataBindings.Add("text", dataset, "Employee.FullName")
        MIDCard2.DataBindings.Add("text", dataset, "Employee.IDCard")
        CmbDay2.DataBindings.Add("text", dataset, "Employee.a")
        CmbMonth2.DataBindings.Add("text", dataset, "Employee.b")
        CmbYear2.DataBindings.Add("text", dataset, "Employee.c")
        Dim old, old2 As Integer ' โชว์อายุตอน เข้าไปเก็บ
        old = DateTime.Now.Year + 543
        old2 = old - CmbYear2.Text
        Tbxold2.Text = old2
        DateTimePicker2.DataBindings.Add(New Binding("Value", dataset, "Employee.Start"))
        TbxAddress2.DataBindings.Add("text", dataset, "Employee.Address")
        TbxZipCode2.DataBindings.Add("text", dataset, "Employee.ZipCode")
        MPhoneNumber2.DataBindings.Add("text", dataset, "Employee.PhoneNumber")
        TbxAppointment2.DataBindings.Add("text", dataset, "Employee.Appointment")
        TbxSalary2.DataBindings.Add("text", dataset, "Employee.Salary")
        CMBEducation2.DataBindings.Add("text", dataset, "Employee.Education")
        TbxFaculty2.DataBindings.Add("text", dataset, "Employee.Faculty")
        TbxBranch2.DataBindings.Add("text", dataset, "Employee.Branch")
        If dataset.Tables("Employee").Rows(0)("Picture") IsNot DBNull.Value Then
            Dim imgByte() As Byte = dataset.Tables("Employee").Rows(0)("Picture")
            Dim imgstremam As New MemoryStream(imgByte)
            Picture2.Image = Image.FromStream(imgstremam)
        ElseIf dataset.Tables("Employee").Rows(0)("Picture") Is DBNull.Value Then
            Picture2.Image = Nothing
        End If
        Me.BindingContext(dataset, "Employee").Position = 0
        updateStatus()
    End Sub


รบกวนผู้รู้ตอบที่ครับจะส่งแล้ว โปรเจ้ค ขอบคุณมากครับๆ

ผมทำผิดตรงไหนครับ รบกวนพวกพี่ๆช่วยตอบด้วยครับ



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









ประวัติการแก้ไข
2011-01-15 12:07:25
2011-01-15 12:07:40
2011-01-15 12:08:29
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-15 12:05:08 By : Digitalhong View : 1861 Reply : 11
 

 

No. 1



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



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

ผิดที่ User ครับ เลยทำให้ error
ลองปิดเครื่องดูครับจะหายเอง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-15 18:36:39 By : New_Capital_Corporat
 


 

No. 2



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



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

โปรดใช้คำสุภาพในการ Post ด้วยครับ Board นี้ไม่รับคนไม่มีการศึกษานะครับ


ประวัติการแก้ไข
2011-01-15 18:39:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-15 18:38:42 By : Digitalhong
 

 

No. 3



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



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


เเล้วถ้ากดอันอื่นก่อนที่จะกดอันเเรกละครับผลออกมาเป็นยังไงเหรอครับ หรือว่ากดอันไหนก่อนมันก็เอาข้อมูลอันเเรกออกมานะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-15 21:11:52 By : EucifeR
 


 

No. 4



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



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

หมายถึงว่า ตอนกด ListBox ฝั่งซ้ายมันปกติ อ่ะครับ

แต่ถ้าค้นหาอ่ะครับมันจะมีปัญหา คือ ถ้า ค้นหา รหัสพนักงาน E005 ซึ่งมันอยู่ ใน Listbox ช่องที่ 5 ครั้งแรกมันจะโชว์ ตามปกติ แต่ถ้าผมไปคลิก Listbox หลังจากค้นหาอันใดอันหนึ่ง มันจะบักคือ มันจะโชว์ รหัส E005 อ่ะครับ ส่วนอันอื่นจะปกติ

ถ้าผม ค้นหา E001 เสร็จแล้วไปคลิก E005 มันก็จะโชว์ เป็น E001 ทั้งที่ผมคลิก E005 พอจะทราบวิธีแก้ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 00:57:20 By : Digitalhong
 


 

No. 5



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



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


Dim sql As String = "Select * from Employee" ไม่มี WHERE เหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 10:29:17 By : EucifeR
 


 

No. 6



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



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

ไม่มีอ่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 12:46:01 By : Digitalhong
 


 

No. 7



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



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


เเล้วมันรู้ได้ไงว่าจะต้องไปดึงของคนไหนมานะครับ ถ้าไม่ได้ WHERE
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 12:59:08 By : EucifeR
 


 

No. 8



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



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

คือตอน Search ผมใช้ Where อ่ะครับ

แต่ตอน BindingsShowE() ใช้กับ FormLoad แค่โชว์เฉยๆ อ่าครับ โดยใช้กับ DataBindings
Me.BindingContext(dataset, "Employee").Position = 0

ใช้ร่วมกับ Listbox อ่ะครับ index = ListBox1.SelectedIndex
Me.BindingContext(dataset, "Employee").Position = index

ถ้าคลิก Listbox ที่ Index ไหน มันจะส่งค่าให้ Position แล้วข้อมูลก็จะเปลี่ยนตามอ่ะครับ

ไม่รุ้ว่าผมพูดถูกหรือผิดนะครับ

Dim sql As String ="Select * from Employee where IDEmployee='" & TbxIDEmployee2.text & "'"

ลองใช้ Where ดูแล้วครับมันไม่โชว์ข้อมูลอะไรขึ้นมาเลยครับ

-*- ขอบคุณมากครับสำหรับคำตอบของพวกพี่ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 13:06:46 By : Digitalhong
 


 

No. 9



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



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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 13:13:10 By : EucifeR
 


 

No. 10



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



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


Dim sql As String ="Select * from Employee where IDEmployee='" & TbxIDEmployee2.text & "'"

ต้องเอาไปใส่ใน TbxIDEmployee2.TextChangำ นะครับถึงจะเห็นผล

ผมก็ไม่เคยทำแบบนี้นะครับ ช่วยอะไรไม่ค่อยได้ ขอภัยละกัน


ประวัติการแก้ไข
2011-01-16 13:19:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 13:16:48 By : EucifeR
 


 

No. 11



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



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

คือว่าเอา เฉพาะ Dim sql As String ="Select * from Employee where IDEmployee='" & TbxIDEmployee2.text & "'"

ต้องเอาไปใส่ใน TbxIDEmployee2.TextChang อย่างเดียวใช่ม่ะครับ ถ้าเอาแค่นี้ มันก็ไม่มีอะไรเกิดขึ้นอ่าครับบักเหมือนเดิม T T
แต่ถ้าผม ย้าย Sub BindingsShowE เข้ามาใน TxexChang มันก็จะไม่ทำงาน Formload ให้ ผมก็นั่งลองมาหลายๆ วิธีแล้วอ่าครับ

- -
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-16 13:36:35 By : Digitalhong
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค๊ดค้าหาของพนักงานให้หน่อยครับ รันผ่านแต่มันดูเหมือนจะบักๆ ช่วยอ่านทีครับ + มีรูปประกอบด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่