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 > [ ASP.NET ] การเลือกข้อมูลจาก Database ลง listbox



 

[ ASP.NET ] การเลือกข้อมูลจาก Database ลง listbox

 



Topic : 129057



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



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




ผมต้องการเลือกข้อมูลลงไปใน listbox แต่ไม่ต้องการให้ข้อมูลใน listbox ซ้ำ เช่น เลือกรหัส 001 ลงไปแล้ว กดปุ่มครั้งต่อไป 001 จะต้องไม่อยู่ใน listbox

Code (ASP)
Dim com As String = "select  * from Customer"
            Dim Adpt As New OleDb.OleDbDataAdapter(com, myconn)
            Dim MyDataSet As New DataSet
            Adpt.Fill(MyDataSet, "Customer ")
            Dim MyDataTable As New DataTable
            MyDataTable = MyDataSet.Tables(0)
            Dim Temp_Row As DataRow
            Dim myda As New OleDb.OleDbCommand(com, myconn)
            Dim mydatareader As OleDb.OleDbDataReader = myda.ExecuteReader()
            Dim arrData(3)
            Dim ds As New DataSet
            For Each Temp_Variable In MyDataTable.Rows
                Temp_Row = Temp_Variable
                ListQw.Items.Add(Temp_Row("FCUSNO") + " - " + Temp_Row("FCUSNAME"))
            Next




Tag : .NET, Ms SQL Server 2014, Web (ASP.NET), VB.NET









ประวัติการแก้ไข
2017-09-30 11:04:31
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-09-30 11:03:57 By : meatspin View : 1476 Reply : 7
 

 

No. 1



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



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

ได้รึยังเอ่ย? ลองเอาไอเดียนี้ไปทำดูนะครับ ปกติผมก็ใช้แบบนี้แต่ถ้าข้อมูลเยอะมากก็อาจจะช้าหน่อยนะ คือ เก็บค่า 001 ไปไว้ในอะรัยสักอย่างที่สำรองข้อมูลไว้ได้ สมมติว่า เก็บไว้ใน ตัวแปล หรือสร้าง table เพื่อเก็บค่าดังกล่าวไว้เลยก็ได้ครับ พอกดปุ่มครั้งถัดไป ก็เอาค่าใน loop ของคุณไปเช็ค กับที่เก็บข้อมูลที่สร้างไว้ ถ้ามีข้อมูลที่ตรงกันก็จะไม่ add to listbox อะไรแบบนี้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 08:45:42 By : thongchai001
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : thongchai001 เมื่อวันที่ 2017-10-02 08:45:42
รายละเอียดของการตอบ ::
ใช่ครับ ผมก็คิดได้แบบนั้น คือทำการวนลูปไอเทมใน listbox แต่ไม่รู้จะเอาโค้ดวางไว้ที่ไหน

Code (ASP)
             Dim count As Integer
            count = listbox1.Items.Count
            Dim item As String
            Dim strSplit1 As Array
 For i = 0 To count - 1
                item = listbox1.Items(i).Text
                strSplit1 = Split(item, "-")
next




ประวัติการแก้ไข
2017-10-02 09:30:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 09:29:30 By : meatspin
 

 

No. 3



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



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

วางไว้ใน loop ที่คุนเขียนไว้ตั้งแต่แรกแหละครับ
For Each Temp_Variable In MyDataTable.Rows Temp_Row = Temp_Variable //เอาค่ามาเช็ค if มีอยุ่แล้ว then //ไม่ต้องทำอะไร else // เพิ่ม ข้อมูลใน listbox และ อัพเดทค่าดังกล่าวให้กับที่เก็บข้อมูลที่เช็คว่ามีแล้ว (table หรือ ตัวแปร ดังกล่าว) ListQw.Items.Add(Temp_Row("FCUSNO") + " - " + Temp_Row("FCUSNAME")) Update ค่าใหม่ end Next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 09:39:03 By : thongchai001
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : thongchai001 เมื่อวันที่ 2017-10-02 09:39:03
รายละเอียดของการตอบ ::
มันเช็คค่า listbox ยังไงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 10:19:21 By : meatspin
 


 

No. 5



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



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


ลองใช้ Linq มาช่วยครับ จะง่ายกว่า Loop เอาข้อมูลมาเยอะ เร็วกว่าด้วย
Code (VB.NET)
Public Partial Class WebForm1
	Inherits System.Web.UI.Page
	Private listAll As New List(Of String)()
	Protected Sub Page_Load(sender As Object, e As EventArgs)
		If ListQw.SelectedItem Is Nothing Then
			listAll.Add("0001")
			listAll.Add("0002")
			listAll.Add("0003")
			listAll.Add("0004")
			listAll.Add("0005")

			If ViewState("listAll") Is Nothing Then
				ViewState.Add("listAll", listAll)

			End If
		Else
			listAll = DirectCast(ViewState("listAll"), List(Of String))
			Dim result = listAll.Find(Function(item) item = ListQw.SelectedItem.ToString())
			If result IsNot Nothing Then
				listAll.Remove(result)
			End If
		End If
		Me.ListQw.DataSource = listAll
		Me.ListQw.DataBind()
	End Sub
End Class



ประวัติการแก้ไข
2017-10-02 11:32:23
2017-10-02 11:32:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 11:30:24 By : OOP
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : meatspin เมื่อวันที่ 2017-10-02 10:19:21
รายละเอียดของการตอบ ::
ความหมายของผมคือ ไม่ต้องเช็คค่าใน listbox ครับ เช็คค่าที่ก่อนจะเอาเข้าไป มมมติที่ว่า เอาค่าที่ได้เอาไปเก็บไว้ใน table น่ะ หน้าตามันก็จะประมาณว่า (คิดในกรณีที่ยังไม่เคยกด ปุ่มอะรัยเลยนะ โปรแกรมว่างๆ)
จะได้ว่า สมมติเลือกข้อมูลจาก customer ได้ 001 001 001 002 003
Loop รอบแรก
(1)เช็คข้อมูลใน Table X (ที่ใช้เกบค่าเช็ค) ***ถึงตรงนี้ จะได้ 001 มา
(2)ถ้าตามที่ผมเขียน หั้ยดูตอนแรกข้อมูลนี้จะเข้าเงื่อนไข else คุณก็จะ add 001 to listbox
(3)และจะได้ค่า X(ใน table ใหม่ ที่เราสมมติขึ้นมา) คือ 001
end loop

พอเข้า loop มารอบสอง
ส่วนที่ (1) จะเช็คค่าถ้า เจอ 001 อีก มันก็จะเข้าเงื่อนไข if แล้วจบ loop ไปตัวถัดไป เรื่อยๆ จนไปเจอ 002 ถึงจะเข้า else (2) เพื่อ ทำ การ add listbox และทำ (3) แค่นี้ก็ไม่ต้องเช็คค่าใน listbox แล้วครับ คือ ที่ผมหั้ยเก็บไว้ใน table ก็เพื่อที่ว่า จะได้ใช้ค่านี้แทนการเช็คใน listbox งัยครับ จริงๆ listbox ก็เช็คได้ครับ มันจะเก็บคล้ายๆ array อันนี้ไม่แน่นเท่าไหร่นะ ต่เคยทำแบบ loop เข้าไปเก็บค่า ใน listbox ว่าเป็น item ที่เท่าไหร่และจะเอาค่ามาทำอะรัยก็ใส่เงื่อนไขครับ

วิธีของผมเป็นวิธีที่ช้านะครับ ถ้าข้อมูลเยอะ แต่มันเป็นวิธีคิดที่ไม่ต้องใช้เทคนิคเพิ่มเติม เพียงแค่เอาพื้นฐานมาปรับใช้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 11:48:08 By : thongchai001
 


 

No. 7



โพสกระทู้ ( 9,542 )
บทความ ( 2 )



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


มี 2 ตาราง
1 ตาราง ลิสต์ข้อมูล
2 ตาราง เลือกข้อมูล

ลองทำแบบเบสิค
listbox เลือกข้อมูลจากตาราง 1 ที่ไม่มีในตาราง 2

Code (SQL)
select listname from table1 as tb where not exists(select slcname from table2 where tb.listname= slcname limit 1)


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-02 14:41:08 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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