 |
|
สอบถามปัญหาการ วน loop for ครับ มันไม่ไป แต่ว่ากำหนด เริ่มต้นและสิ้นสุดแล้ว |
|
 |
|
|
 |
 |
|
ลองตัวอื่นแล้ว ทั้ง tmpRow , tnpColumn วิ้งไปหมดครับ
แต่ไอ้ตัว sqlAdd &= "'" & Val(lsvGraduate.Items(i).SubItems(0).Text) & "')"
มันไม่ยอมวิ้งไป (มันคือรหัสบัณฑิตครับ)
head]Code (VB.NET)[/head]
Imports System.Data
Imports System.Data.SqlClient
Module Module1
Public Const strConn As String = "Data Source=AoFza;Initial Catalog=DGE;Integrated Security=True"
Public Conn As New SqlConnection(strConn)
'***********************************
Public tmpUserName As String = ""
'************** frmFixseat *********************
Public tmpsum As String = ""
Public tmpArray As String = ""
Public tmpRow As Integer
Public tmpColumn As Integer
End Module
Code (VB.NET)
With Conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With
Dim NumberToText As String = ""
Dim sqlGraduate As String = ""
sqlGraduate = "SELECT Graduate.*, Education.* FROM Graduate, Education "
sqlGraduate &= " WHERE (Graduate.EdtID = Education.EdtID)"
sqlGraduate &= " ORDER BY Graduate.GdtHonor,Education.EdtSort " ',Graduate.GdtFname
Da = New SqlDataAdapter(sqlGraduate, Conn)
Da.Fill(Ds, "Graduate")
Dim num As Integer = Ds.Tables("Graduate").Rows.Count
lblMaxGdt.Text = num
Dim cmd As New SqlCommand(sqlGraduate, Conn)
Dim dr As SqlDataReader = cmd.ExecuteReader
With dr
If .HasRows Then
While .Read
Dim liv As New ListViewItem
liv.Text = CType(.Item("GdtID"), String)
liv.SubItems.Add(CType(.Item("EdtID"), String).ToString)
liv.SubItems.Add(CType(.Item("GdtRank"), String).ToString)
liv.SubItems.Add(CType(.Item("GdtTitle"), String).ToString)
liv.SubItems.Add(CType(.Item("GdtFname"), String).ToString)
liv.SubItems.Add(CType(.Item("GdtLname"), String).ToString)
liv.SubItems.Add(CType(.Item("GdtHonor"), String).ToString)
lsvGraduate.Items.Add(liv)
End While
End If
End With
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
'MsgBox(tmpArray)
Dim sqlAdd As String = ""
Dim ComAdd As New SqlCommand
Dim i As Integer = 0
For tmpRow = 1 To txtRow.Text
For i = 0 To lsvGraduate.Items.Count - 1
For tmpColumn = 1 To txtColumn.Text
sqlAdd = "INSERT INTO Seat(SeatID,GdtID,RowName)"
sqlAdd &= "VALUES ('" & tmpRow & "',"
sqlAdd &= "'" & Val(lsvGraduate.Items(i).SubItems(0).Text) & "')"
sqlAdd &= "'" & tmpColumn & "')"
MsgBox(sqlAdd)
Next
Next
Next
'With ComAdd
'.CommandType = CommandType.Text
'.CommandText = sqlAdd
'.Connection = Conn
'.ExecuteNonQuery()
MessageBox.Show("บันทึกที่นั่ง เรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
btnAdd.Enabled = True
btnEdit.Enabled = True
btnSave.Enabled = False
btnCancle.Enabled = False
End Sub
[
Tag : .NET, MySQL, VB.NET, VS 2005 (.NET 2.x)
|
ประวัติการแก้ไข 2010-09-14 21:33:04
|
 |
 |
 |
 |
Date :
2010-09-14 21:27:52 |
By :
AoFzaIT |
View :
1303 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
lsvGraduate.Items.Count
ถ้ามันไม่เข้าแล้วมันมีค่ารึเปล่าล่ะครับ
|
 |
 |
 |
 |
Date :
2010-09-14 22:21:33 |
By :
3rds |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
หุหุ ไม่ได้สั่ง execute ในลูป
แล้ว for loop ซ้อนกัน 3 ลูปนี่มั่วป่าว
|
 |
 |
 |
 |
Date :
2010-09-14 22:25:04 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันไม่น่าจะจองอะไรได้นะแบบนั้นน่ะ
ลองนึกถึงการจองตั๋วหนังดิ เขาจะคลิกเลือกทีละทีนั้ง คลิกปุ๊บก็จองปั๊บ
แต่ listview ก็เช่นกัน เราสามารถแฮนเดิลอีเว็น columnclick ได้
เพื่อเอาค่าใน EventArgs ไปเรียกข้อมูลในฐานข้อมูลมา insert ลงตารางการจองน่ะ
|
 |
 |
 |
 |
Date :
2010-09-14 22:48:34 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ต้องใช้ for 3 ตัวอ่าครับ หรือผมไม่เข้าใจในความหมายท่าน tungman ก็ไม่รู้
( ไม่มีประสบการณ์เลย ) -*-
เพราะ row และ column ไม่แน่นอนขึ้นอยู่กับการกรอก
เช่น เมื่อกรอก row = 10 และ column = 20 นั่นก็หมายความว่าต้องไล่
column 1,2,3,...20 row =1
column 1,2,3,...20 row =2
column 1,2,3,...20 row =3
........
column 1,2,3,...20 row =10
ส่วน for อีกตััวก็ดึงมาจาก lisview ที่เราเรียงข้อมูลมาเรียบร้อยแล้ว
่ค่า row , column ข้อมูลตรงตามที่ต้องการครับ แต่ รหัสบัณฑิต ไปแค่คนเีดี่ยว(คนแรก)
ค่าที่สั่งให้วนของอะไรก็ลองใส่แล้วครับ ที่ next (ไม่รู้ผมเข้าใจความหมายถูกรึเปล่า)
Code (VB.NET)
sqlAdd &= "'" & Val(lsvGraduate.Items(i).SubItems(0).Text) & "')"

|
ประวัติการแก้ไข 2010-09-15 00:39:43
 |
 |
 |
 |
Date :
2010-09-15 00:15:34 |
By :
AoFzaIT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Dim J As Integer = 0
Dim K As Integer = lsvGraduate.Items.Count - 1
For tmpRow = 1 To txtRow.Text
For tmpColumn = 1 To txtColumn.Text
If J <= K Then
sqlAdd = "INSERT INTO Seat(SeatID,GdtID,RowName)"
sqlAdd &= "VALUES ('" & tmpRow & "',"
sqlAdd &= "'" & Val(lsvGraduate.Items(J).SubItems(0).Text) & "')"
sqlAdd &= "'" & tmpColumn & "')"
MsgBox(sqlAdd)
J += 1
Else
MsgBox("จัดเก้าอี้กันยังไงวะไม่มีเก้าอี้เหลือให้กูนั้ง")
End If
Next
Next
จขกท ต้องไปฝึกการตั้งคำถามใหม่ครับ คนตอบส่วนใหญ่ตอบไม่ตรงกันที่ท่านถาม หรืออธิบายได้ว่าเข้าใจไปกันคนละอย่าง
|
 |
 |
 |
 |
Date :
2010-09-15 08:48:10 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครัับ ขอบคุณ ท่าน KaimuK และท่าน tungman ครับที่ให้คำแนะนำ
ไม่ค่อยรู้คำศัพท์ที่ใช้ในการเรียก ก็ขออภัยด้วยนะครับ - -''
|
 |
 |
 |
 |
Date :
2010-09-15 18:25:37 |
By :
AoFzaIT |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|