เมื่อเรา select ข้อมูล record นั้นออกมาแล้วทำการ Update record นั้น โดยใส่สถานะบางอย่าง แล้วพอทำรอบต่อไปไม่ต้องเลือก record นั้นอีกแต่มันไม่ได้ครับ มันยังเลือก record นั้นออกมาอยู่ดี ซึ่งทำใน for loop
ืีnum1 num2 status // ' ชื่อ ฟิลด์
2 4 1
3 5 0
6 7 0
หลังจาก update แล้ว record ที่ status = 1 ต้องไม่ออกมา แต่มันยังออกมา ช่วยด้วยครับ
ตัวนี้ผมต้องการเอาค่าที่ได้แต่ละ record ออกมา เก็บไว้อีก table นึงครับ แล้วใส่ status เพื่อให้รู้ว่า record นั้นได้ถูกเลือกไปแล้ว ให้ไปเลือก record ถัดไปครับ เป็นการจัดตารางแข่งฟุตบอลแบบลีกครับ ซึ่งจำนวนแมตซ์จะมากหรือน้อยขึ้นอยู่กับจำนวนทีม
CODE:Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Clear()
Dim num As Integer
conn.Open()
Dim i, l, m, k As Integer
num = txtnum.Text
Dim count As Integer = 0
For i = 1 To num
For l = 1 To num
If i = l Then Continue For
count += 1
ListBox1.Items.Add(i & "--" & l)
sql = "insert into nums values('" & i & "','" & l & "','" & 0 & "')"
cmd = New SqlCommand(sql, conn)
'cmd.Parameters.AddWithValue("n1", i)
'cmd.Parameters.AddWithValue("n2", l)
cmd.ExecuteNonQuery()
Next
Next
Label1.Text = count
Label2.Text = num / 2
Label3.Text = count / Label2.Text
Label7.Text = Label3.Text / 2
Dim co As Integer = 0
For m = 1 To CInt(Label7.Text)
For k = 1 To CInt(Label2.Text)
Dim n1, n2, id As Integer
Dim u, x As Integer
Dim boo As Boolean
Dim cnt As Integer = 0
sql = "select * from nums where week='0' ORDER BY NEWID()"
cmd = New SqlCommand(sql, conn)
adp = New SqlDataAdapter(cmd)
adp.Fill(data, "num")
u = data.Tables("num").Rows.Count
For x = 0 To u - 1
id = data.Tables("num").Rows(x)("id")
n1 = data.Tables("num").Rows(x)("num1")
n2 = data.Tables("num").Rows(x)("num2")
boo = check3(n1, n2, m) ' เป็นส่วนที่ส่งเข้าไปเช็คใน function ว่า คู่นี้ได้ถูกเลือกไปแล้วหรือยังในแต่ละ week ครับ
If boo = False Then
sql = "insert into nums2 values(@n1,@n2,@w)"
cmd = New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("n1", n1)
cmd.Parameters.AddWithValue("n2", n2)
cmd.Parameters.AddWithValue("w", m)
Dim r As Integer = cmd.ExecuteNonQuery()
If r > 0 Then
co += 1
'MessageBox.Show(id, "id")
Dim sql2 As String = "UPDATE nums SET week='" & m & "' WHERE id='" & id & "'"
Dim cmd2 As New SqlCommand(sql2, conn)
cmd2.ExecuteNonQuery()
conn.Close()
Exit For
End If
End If
Next
Next k
Next m
End Sub