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 > ปัญหารวมค่าซ้ำใน combobox แล้วไม่เรียงตามฐานข้อมูล



 

ปัญหารวมค่าซ้ำใน combobox แล้วไม่เรียงตามฐานข้อมูล

 



Topic : 115104



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



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




ผมอยากตัดรายการที่ซ้ำกันใน combobox ออกให้เหลือรายการเดียว คือในฐานข้อมูล ฟิลล์ที่เก็บจะเป็น nchar(20) เป็นข้อมูลวันที
ผมใช้ distinct แล้วมันรวมรายการซ้ำจริงแต่มันจะเรียงตามตัวเลขวันที่ข้างหน้าอ่ะครับจากน้อยไปมาก จะใช้ Order by ตาม id ก็ไม่ได้
เพราะมันต้องใช้ คอลัมน์เดียวกับ distinct ข้อมูลที่เก็บจะเป็น....

22 กุมภาพันธ์ 2558 12 มีนาคม 2558 12 มีนาคม 2558 12 มีนาคม 2558 12 มีนาคม 2558 12 มีนาคม 2558 11 เมษายน 2558 13 เมษายน 2558 10 เมษายน 2559


อยากให้มันเรียงเป็น....
22 กุมภาพันธ์ 2558 12 มีนาคม 2558 11 เมษายน 2558 13 เมษายน 2558 10 เมษายน 2559


ถ้าเก็บ file type เป็น Date ข้อมูลก็จะเป็น 2558/03/12 ประมาณนี้ง่ะ
คือผมจะให้เรียงตามบรรทัดที่บันทึกลงฐานข้อมูลครับ ไม่ได้เรียงตาม ตัวเลขวันที่ข้างหน้า
...คืออยากได้โค้ดที่เปรียบเทียบค่าซ้ำใน combobox แล้วตัดค่าที่ซ้ำหรือรวมกันให้เหลือรายการเดียวง่ะครับ ช่วยทีครับ ขอบคุณครับ
โค้ดที่ผมทำแต่ยังลบได้ไม่หมดอ่ะครับ

Code
 sql = "SELECT buy_date FROM Buyproduct WHERE buy_date LIKE '%" & Comboyear.Text & "%'"
        Dim com As New SqlCommand(sql, connection)
        Dim dr As SqlDataReader = com.ExecuteReader
        If dr.HasRows Then
            While dr.Read
                Combotime.Items.Add(dr.Item(0))
            End While
            dr.Close()
        End If
        Combotime.SelectedIndex = (Combotime.Items.Count() - 1) 'เลือกรายการล่าสุด

        Dim i As Integer
        If (Combotime.Items.Count) <> 1 Then
            For i = Combotime.Items.Count - 1 To 0 Step -1
                If Combotime.Items(i) <> Combotime.Items(Combotime.Items.Count - 1) Then
                    If Combotime.Items(i) = Combotime.Items(i + 1) Then
                        Combotime.Items.Remove(Combotime.Items(i))
                    End If
                Else
                    Exit Sub
                End If
            Next
        Else
            Exit Sub
        End If




Tag : .NET, Ms SQL Server 2008, VB.NET, VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-03-15 00:54:34 By : visvisit View : 1432 Reply : 4
 

 

No. 1



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

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

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

อาจจะต้องเปลี่ยน DataType ให้ไปเป็น DateTime ก่อนครับ ถึงจะจัดเรียงถูกต้อง






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-15 08:35:24 By : mr.win
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-03-15 08:35:24
รายละเอียดของการตอบ ::
... ผมเก็บข้อมูลเป็น Date แล้วครับ '12 มี.ค. 2558' อันนี้ตามในวินโดวน์ที่ผมใช้นะครับ
ผมจะ select ข้อมูลจากดาต้าเบส จากรายการที่อยู่ใน combobox 12 มี.ค. 2558 ออกมายังไงเหรอครับ
อันนี้โค้ดผม ยังไม่ออกอ่ะครับ

Code
sql = "SELECT * FROM Product inner join Imp_pro_saller on Product.ips_id=Imp_pro_saller.ips_id inner join Buyproduct on Product.pro_id=Buyproduct.pro_id Where (DATE_ADD(buy_date,'%d-%m-%Y'),INTERVAL -543 YEAR) =" & Combotime.Text


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-15 17:23:59 By : visvisit
 

 

No. 3



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



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


อ่าทำได้แล้วครับ นั่งแกะนั่งเกากันจนได้ง่ะ ... ใส่ฟังก์ชั่นโล้ด

Code
Private Function Getsumstring(ByVal dtin As Object) As String 
'แปลงวันที่ให้อยู่ในรูปแบบที่ sql สามารถอ่านได้ ปี/เดือน/วัน , เดือน/วัน/ปี

        Dim s() As String = dtin.Split(" ")
        If s(1) = "ม.ค." Then
            s(1) = 1
        ElseIf s(1) = "ก.พ." Then
            s(1) = 2
        ElseIf s(1) = "มี.ค." Then
            s(1) = 3
        ElseIf s(1) = "เม.ย." Then
            s(1) = 4
        ElseIf s(1) = "พ.ค." Then
            s(1) = 5
        ElseIf s(1) = "มิ.ย." Then
            s(1) = 6
        ElseIf s(1) = "ก.ค." Then
            s(1) = 7
        ElseIf s(1) = "ส.ค." Then
            s(1) = 8
        ElseIf s(1) = "ก.ย." Then
            s(1) = 9
        ElseIf s(1) = "ต.ค." Then
            s(1) = 10
        ElseIf s(1) = "พ.ย." Then
            s(1) = 11
        ElseIf s(1) = "ธ.ค." Then
            s(1) = 12
        End If
        Dim dt() As String = {s(1), s(0), (s(2) - 543)}
        Dim str As String = String.Join("/", dt)
        Return str
    End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-16 02:18:00 By : visvisit
 


 

No. 4



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

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

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

จัดไปครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-16 10:30:48 By : mr.win
 

   

ค้นหาข้อมูล


   
 

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