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,027

HOME > .NET Framework > Forum > VB.net combobox เวลาเลือกเปลี่ยนข้อมูลแล้วมัน Error ตรงส่วน ผมผิดตรงไหนเหรอครับ



 

VB.net combobox เวลาเลือกเปลี่ยนข้อมูลแล้วมัน Error ตรงส่วน ผมผิดตรงไหนเหรอครับ

 



Topic : 071931



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



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




พอดีเพิ่งเริ่มต้นไปต่อไม่เป็นแล้ว งมมา 2 วันแล้ว คือผมเชื่อม Combobox ไว้ด้วยกัน

ติดปัญหาตรง
1.เวลาเลือก ComboCondition แล้วมัน Error
2.เวลาเลือก ComboCondition แล้ว กรณีที่ข้อมูลใน Data base SQL SEVER มันไม่มี อยากให้ ComboDetai โชว์ค่าว่าง ตอนนี้มันโชว์ ข้อมูลจากตัวแรกที่เราเลือก


หน้าจอ
หน้าจอ

ส่วน Error
ส่วน Error

Code (VB.NET)
   Private Sub ShowDataCombobox()

        If ComboCondition.Text = "Terminal" Then
            sb = New StringBuilder()
            sb.Append("SELECT * FROM tTerminal")
            Dim sqlIni As String
            sqlIni = sb.ToString()

            RemoveHandler ComboDetail.SelectedValueChanged, AddressOf ComboDetail_SelectedIndexChanged
            com = New SqlCommand()
            With com
                .CommandText = sqlIni
                .CommandType = CommandType.Text
                .Connection = Conn
                dr = .ExecuteReader()
            End With

            If dr.HasRows Then
                Dim dttTerminal As DataTable
                dttTerminal = New DataTable()
                dttTerminal.Load(dr)

                With ComboDetail
                    .BeginUpdate()
                    .DisplayMember = "C_Name"
                    .ValueMember = "L_ID"
                    .DataSource = dttTerminal
                    .EndUpdate()
                End With

                dr.Close()
                AddHandler ComboDetail.SelectedValueChanged, AddressOf ComboDetail_SelectedIndexChanged

                ComboDetail.ContextMenu = New ContextMenu()
            End If

ElseIf ComboCondition.Text = "Department" Then
            sb = New StringBuilder()
            'sb.Append("SELECT {FN Concat({FN Concat(c_code,' : ')},substring(c_name,1,30))} As test FROM cPost")
            sb.Append("SELECT * FROM cPost")
            Dim sqlIni As String
            sqlIni = sb.ToString()
            RemoveHandler ComboDetail.SelectedValueChanged, AddressOf ComboDetail_SelectedIndexChanged

            com = New SqlCommand()
            With com
                .CommandText = sqlIni
                .CommandType = CommandType.Text
                .Connection = Conn
                dr = .ExecuteReader()
                If dr.HasRows Then
                    dtcPost = New DataTable
                    dtcPost.Load(dr)
                    With ComboDetail
                        .BeginUpdate()
                        .DisplayMember = "C_Name"
                        .ValueMember = "C_Code"
                        .DataSource = dtcPost
                        .EndUpdate()
                    End With
                End If

                dr.Close()
                AddHandler ComboDetail.SelectedValueChanged, AddressOf ComboDetail_SelectedIndexChanged

                ComboDetail.ContextMenu = New ContextMenu()
            End With
        End If
    End Sub




Tag : .NET, Ms SQL Server 2005, Win (Windows App), VB.NET









ประวัติการแก้ไข
2012-01-14 10:42:42
2012-01-14 10:54:14
2012-01-14 11:02:50
2012-01-14 11:14:09
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-01-14 10:38:26 By : SeedNew View : 2237 Reply : 17
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Quote:
With ComboDetail
.BeginUpdate()
.DisplayMember = "C_Name"
.ValueMember = "L_ID"
.DataSource = dttTerminal
.EndUpdate()
End With


ทำไมถึงใช้ BeginUpdate และ EndUpdate ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-14 20:51:47 By : webmaster
 


 

No. 2



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



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


พูดตรงๆ ลอกจากหนังสือพัฒนาระบบฐานข้อมูลด้วย vb2005&vc#2005 ของศุภชัย มาเลยตามเค้า แบบงง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 09:38:01 By : SeedNew
 

 

No. 3



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



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


แต่พอดูอีกรอบ มันก็จริงนะใส่ทำไม ถึงจะเอาออก ก็ติดเหมือนเดิมครับพี่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 09:56:03 By : SeedNew
 


 

No. 4



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



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


เหมือนมันจะหา Field ไม่เจอ C_Code จาก Error นะ

ส่วนเรื่องที่ จขกท. อยากให้มันแสดงค่าว่าง กรณีนี้ (ตามแนวทางของ จขกท.) ให้เรา Add Row ที่เป็นค่าว่างเข้าไปใน Table ที่ จขกท. สร้างขึ้นมาครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 14:30:03 By : kaimuk
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

พอดีไม่เคยใช้ครับ เลยอยากรู้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 14:35:32 By : webmaster
 


 

No. 6



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



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


ขอบคุณครับที่ช่วยตอบ เจอต้นตอแล้ว

คือตอนนี้โค้ดที่ผมเขียนมันจำค่าเดิม จากค้นหามาในใส่คอมโบบ๊อก
พอเลือกอีกทีหนึ่ง ค่าตัวเก่ามันยังอยู่ เลยทำให้เกิดการ Error C_Name ขึ้น

พอไล่ไป ไล่มาโค้ดชุดเก่าไม่ได้ใช้เลย ได้โค้ดนี้มาแทน

Code (VB.NET)
        If ComboCondition.Text = "Terminal" Then
            ComboDetail.Items.Clear()
            '--อ่านชื่อหมวด Terminal ลงใน ComboDetail เพื่อใช้ในการเลือกรายชื่อ
            sql = ("SELECT * FROM tTerminal Order by L_ID")
            command = New SqlCommand(sql, connection)
            reader = command.ExecuteReader()
            While reader.Read()
                ComboDetail.Items.Add(reader("L_ID"))
            End While
            reader.Close()

            If ComboDetail.Items.Count > 0 Then
                ComboDetail.SelectedIndex = 0
            End If

        ElseIf ComboCondition.Text = "Department" Then
            ComboDetail.Items.Clear()
            sql = ("SELECT {FN Concat({FN Concat(c_code,' : ')},substring(c_name,1,30))} As test FROM cPost")
            command = New SqlCommand(sql, connection)
            reader = command.ExecuteReader()
            While reader.Read()
                ComboDetail.Items.Add(reader(0))
            End While
            reader.Close()

            If ComboDetail.Items.Count > 0 Then
                ComboDetail.SelectedIndex = 0
            End If
        End If

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 15:19:16 By : SeedNew
 


 

No. 7



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



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


ตอนนี้ผมติดปัญาตรงนี้แล้วครับ จะทำยังไงให้ 2 คอลัมน์มาโชว์ใน Combobox เดียว
ตรงส่วน ของ IF Department รันแล้วผ่านโชว์ข้อมูลได้ตามรูปถูกต้อง
yes


แต่ผมดันมาติด ส่วน IF Terminal
ตอนนี้ผมไม่สามารถร่วม 2 คอมลัมน์ไว้ในคอลัมน์เดียวไม่ได้

Error


ประวัติการแก้ไข
2012-01-16 15:32:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 15:31:31 By : SeedNew
 


 

No. 8



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 15:44:47 By : webmaster
 


 

No. 9



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



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


ตอนนี้ติด Concat งมต่ออีกวัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 15:55:41 By : SeedNew
 


 

No. 10



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



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


ใครรู้ตอบให้หน่อยนะครับคือ ผมจะรวม คอลัมน์เดียวไว้ใน Combobox จะทำยังไงครับ

ปัญหาที่ติดตอนนี้
-Data_type มันคนละประเภท เวลาจับมารวมกัน พอรันแล้วมัน Error
ตอนนี้ผมเข้าว่าต้องแปลง Data_type ให้เป็นชนิดเดียวกันก่อน
ลองทำแล้วมันไม่ได้ ใครพอจะเขียนโค้ดเป็น วิทยาทาน ให้ผมหน่อย ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 17:46:34 By : SeedNew
 


 

No. 11



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Code
SELECT col1 + ' ' + col1 as newcol FROM tb_name


แบบนี้ได้หรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 17:51:31 By : webmaster
 


 

No. 12



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



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


Error บรรทัดนี้เหมือนเดิม
reader = command.ExecuteReader()

ตอนนี้คือปัญหา คือ
L_ID เป็น int
C_Name เป็น ntext

คือ ผมต้องแปลง int ให้ Varchar ก่อนหรือเปล่า แล้วค่อยมารวมกับ C_Name
แต่ตอนนี้เขียนคำสั่ง ไม่เป็น
หาใน google มันไม่มี


ประวัติการแก้ไข
2012-01-16 18:17:41
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 18:12:54 By : SeedNew
 


 

No. 13



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ลองใช้ CAST ครับ

Code
CAST(e.SickLeaveHours AS char(1))


http://msdn.microsoft.com/en-us/library/ms187928.aspx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-16 20:22:36 By : webmaster
 


 

No. 14



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



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


ได้แล้ว ขอบคุณมากครับ งั้นผมขอแชร์ให้เพื่อนๆ เผื่อใครติดปัญหาเหมือนแล้วกันนะครับ


Code :

SELECT CAST(Column1 AS data_type ( length )) +' : '+ CAST(Column2 AS data_type ( length ) ) FROM TableName

รูปแบบที่เขียน
"SELECT CAST(L_ID AS varchar(12)) +' : '+ CAST(C_Name AS varchar(12)) FROM tTerminal"

ผลการรัน
รูปแบบที่ได้


ประวัติการแก้ไข
2012-01-17 09:46:46
2012-01-17 09:49:07
2012-01-17 11:05:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-17 09:45:44 By : SeedNew
 


 

No. 15



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

เยี่ยมเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-17 10:00:53 By : webmaster
 


 

No. 16



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



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


จากกระทู้ที่ 1 ที่พี่ Mr.win ถาม "ทำไมถึงใช้ BeginUpdate และ EndUpdate ครับ"

ผมได้หาคำตอบแล้ว
จะใส่ก็ได้หรือไม่ใส่ก็ ได้
ถ้าใส่ มันจะทำงานแบบ Real time ตัวอย่างเช่น ถ้าเราใช้งานพร้อมกัน 2 เครื่องมันจะอัพเดทไปพร้อมๆ กันๆ

ผมไม่แน่ใจนะว่าถูกหรือผิด เพราะพี่โปรแกรมเมอร์ข้างๆ ผมบอกมาอีกที 55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-19 09:05:05 By : SeedNew
 


 

No. 17

Guest


vb6 ขอตัวอย่างหน่อยค่ะ
ต้องการให้ข้้อมูลที่เราเพิ่มใหม่ในaccessจากฟอร์มย่อย มาโชว์ใน coombobox ในฟอร์มหลัก
ตอนนี้ที่ทำได้คือ ข้อมูลที่เพิ่มใหม่ลงฐานข้อมูล แต่ไม่โชว์ในcomboboxต้องเพิ่มใหม่ ข้อมูลที่เพิ่มก่อนหน้าจึงจะโชว์

Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
Set RS = New ADODB.Recordset
RS.Open "select * from Table2 where SN = '" & Combo2.Text & "'", cn, adOpenKeyset, adLockOptimistic
If Not RS.EOF Then
Me.Combo1.Text = RS!Device
End If
RS.Close
Set RS = Nothing
End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 14:22:13 By : koy
 

   

ค้นหาข้อมูล


   
 

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