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 > สอบถามปัญหา vb.net 2005 การ insert array สองมิติ ครับ



 

สอบถามปัญหา vb.net 2005 การ insert array สองมิติ ครับ

 



Topic : 048602



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



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




ผมมีปัญหาในการ insert array 2มิติ ครับ ลอง magbox ดูว่ามัน insert ข้อมูลได้อะไร

ปรากฎว่ามัน insert array ทั้งหมด แล้วก็ตามด้วยรหัสตัวที่ผมจะเอาใส่ไปอีก column

ผมเลยไปไม่เป็นเลยทีนี้ ไม่รู้ว่าจะเอา ตัวแปรไหน -*-

ช่วยแนะนำด้วยครับ ขอบคุณล่วงหน้าครับผม

fixseat

2

Code (VB.NET)
  Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

        Dim colunSum As Integer = Ds.Tables("Graduate").Rows.Count
        Dim tmpMaxSeat As String = colunSum

        lblMaxSeat.Text = txtRow.Text * txtColumn.Text
        If (txtRow.Text = "0") Or (txtColumn.Text = "0") Then

            MessageBox.Show("กรุณาป้อนข้อมูลให้ครบ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtRow.Text = "0"
            txtColumn.Text = "0"
            txtRow.Focus()
            Exit Sub
        End If

        If txtColumn.Text > 110 Then
            MessageBox.Show("จำนวน แถวตอนลึกมากเกินไป กรุณากรอกใหม่", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtColumn.Focus()
            Exit Sub
        End If

        Dim Row As Integer = txtRow.Text
        Dim Column As Integer = txtColumn.Text
        Dim sum As String = ""
        Dim j As Integer

        Dim Array1(110) As String
        Dim colunSum As Integer = Ds.Tables("Graduate").Rows.Count
        Dim tmpMaxSeat As String = colunSum

        lblMaxSeat.Text = txtRow.Text * txtColumn.Text
        If (txtRow.Text = "0") Or (txtColumn.Text = "0") Then

            MessageBox.Show("กรุณาป้อนข้อมูลให้ครบ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtRow.Text = "0"
            txtColumn.Text = "0"
            txtRow.Focus()
            Exit Sub
        End If

        If txtColumn.Text > 110 Then
            MessageBox.Show("จำนวน แถวตอนลึกมากเกินไป กรุณากรอกใหม่", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            txtColumn.Focus()
            Exit Sub
        End If

        Dim Row As Integer = txtRow.Text
        Dim Column As Integer = txtColumn.Text
        Dim sum As String = ""
        Dim j As Integer

        Dim Array1(110) As String
   
        Array1(1) = "A"
        Array1(2) = "B"
        Array1(3) = "C"

'....................
'.............

        Array1(18) = "AH"
        Array1(19) = "AI"
        Array1(20) = "AJ"

'....................
'.............

        Array1(108) = "JH"
        Array1(109) = "JI"
        Array1(110) = "JJ"

   For Column = 1 To Column
            For j = 1 To Row
                sum += Array1(Column) & j & " "
            Next j
            sum += vbCrLf 'ขึ้นแถวใหม่เมื่อสิ้นสุดแต่ละบรรทัด
        Next Column

        tmpSum = CStr(sum)
        btnAdd.Enabled = False
        btnSave.Enabled = True
        btnCancle.Enabled = True

    End Sub

  Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

        Dim sqlAdd As String = ""
        Dim ComAdd As New SqlCommand

        Dim i As Integer = 0
        For i = 0 To lsvGraduate.Items.Count - 1

            sqlAdd = "INSERT INTO Seat(SeatID,GdtID)" 'RowName
            sqlAdd &= "VALUES ('" & tmpSum & "',"
            sqlAdd &= "'" & Val(lsvGraduate.Items(i).SubItems(0).Text) & "')"

            MsgBox(sqlAdd)

            With ComAdd
                .CommandType = CommandType.Text
                .CommandText = sqlAdd
                .Connection = Conn
                .ExecuteNonQuery()
            End With
        Next i
        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-11 15:20:58
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-11 15:18:03 By : AoFzaIT View : 3362 Reply : 6
 

 

No. 1



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

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

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

Error นี้เกิดจากฟิวด์ที่ Insert ไม่พอดีกับขนาดของ Data ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-11 15:55:04 By : webmaster
 


 

No. 2



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



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


มันเหมือนจะ insert แถวที่นั่งทั้งหมดที่คำนวนมาอ่าครับ

เช่น

A คือแถวที่ Aมี 5 ที่นั่ง

B คือแถวที่ Bมี 5 ที่นั่ง

,,,,,,,,,,,

,,,,,,

และตามด้วยรหัส บัณฑิต คนที่ 1

(มันไป insert แถวที่นั่งทั้งหมดก่อนที่จะไป insert รหัสบัณฑิตไล่มาตามลำดับที่เรียงไว้ใน datagridview)

471940321 คือรหัสบัณฑิตคนที่ 1 ครับ


ประวัติการแก้ไข
2010-09-11 16:03:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-11 16:02:35 By : AoFzaIT
 

 

No. 3



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



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


อ่อ เหมือนจะต้องใช้ for ครับ

เพราะ่ว่าต้อง insert บัณฑิตแต่ละคนลงไป พร้อมกับที่นั่ง

แต่ว่า ...... จะเอา ตัวแปร array ตัวไหนลงงะ

ช่วยชี้แนะทีครับ แหะๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-11 16:10:45 By : AoFzaIT
 


 

No. 4



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

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

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


เอ่อ โทษทีครับ ทำยากไปไม๊อ่ะครับ ระบบนี้ประมาณว่าเป็นระบบจองที่นั่งรับปริญญาป่ะครับ (มันไม่น่าจะจองได้นะ น่าจะเป็นจัดสรรมากว่า) ไม่รู้นะผิดก็โทษที :P

ผมว่าเอา array ไปใช้ตอนแสดงผลก็พอครับ ถ้าอยากใช้อ่ะนะ

ส่วนเวลาเลือกว่าใครนั่งตรงไหนก็ใช้ตัวแปรธรรมดานี่แหละ วนลูปเอา อย่างในรูป คือเอา แถวxลึก ใช่ป่ะครับ ก็กำหนดลูปได้และว่าต้องมี 25 ลูป ก็ for เ้้ข้าไปเลย ว่าตัวแปร seat_id = 01... ไปเรื่อยๆ

sql command เวลา insert ก็ส่งไปแค่ ตัวแปร seat_id พอจะมองออกป่ะครับ

Code (VB.NET)
      nrow  = textboxแถว
      ncol = textboxลึก

      nSeatTotal = nrow*ncol

      for seat_id = 1 to nSeatTotal
            sqlAdd = "INSERT INTO Seat(SeatID,GdtID)" 'RowName
            sqlAdd &= "VALUES ('" & tmpSum & "',"
            sqlAdd &= "'" & Val(seat_id) & "')"
 
            MsgBox(sqlAdd)
 
            With ComAdd
                .CommandType = CommandType.Text
                .CommandText = sqlAdd
                .Connection = Conn
                .ExecuteNonQuery()
            End With
      next

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-12 11:49:04 By : salapao_codeman
 


 

No. 5



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



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


ขอบคุณท่าน Codeman ที่ชี้แนะครับ แต่.....

แง่ม ๆ ๆ มันไม่ใช่แ่ค่ที่นั้นอ่าคับ -*-

คือผมกำหนดไปว่า แถวที่

a = 1

b= 2

c=3

. . . . . .

f =10

แปลว่าถ้าเราใส่เลข 10 เข้าไปแล้ว ตัวบอกแถวก็จะบอกว่าแถวที่ f

จะเอาตัวอักษรใส่ไปด้วยครับ

ประมาณนี้ อุดส่าห์ทำ array มาเสียดาย 555+

ช่วยชี้แนะอีกทีนะครับ แหะๆๆ

ถ้าไม่ได้ยังไงก็คงต้อทำแบบที่ท่าน Codeman บอกและมั้งเนี่ยยย ง่ายดี

(ทำให้มันถึงที่สุดก่อนอ่าคับ (เรื่องมากอีกแล้ว 555+))


ประวัติการแก้ไข
2010-09-12 16:42:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-12 16:31:06 By : AoFzaIT
 


 

No. 6



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



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


ผมกำหนดให้มันเอาตัวอักษรไปได้แล้วครับ

คือเอาไปใส่ใน module แล้วส่งผ่านไปยังปุ่ม save

แต่ตัวเลขมันไม่ยอมไป -*-

ผู้รู้ช่วยแนะนำทีครับ ขอบคุณล่วงหน้าครับ

Code (VB.NET)
        For Column = 1 To Column
            For j = 1 To Row
                sum += Array1(Column) & j & " "
            Next j
            sum += vbCrLf 'ขึ้นแถวใหม่เมื่อสิ้นสุดแต่ละบรรทัด
        Next Column

        tmpArray = (Array1(Column - 1))

   Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Dim sqlAdd As String = ""
        Dim ComAdd As New SqlCommand
        Dim i As Integer = 0
        MsgBox(tmpArray)

        Dim row As Integer
        For row = 1 To txtRow.Text
            For i = 0 To lsvGraduate.Items.Count - 1
                sqlAdd = "INSERT INTO Seat(SeatID,GdtID)" 'RowName
                sqlAdd &= "VALUES ('" & Val(tmpArray) & row & "',"
                sqlAdd &= "'" & Val(lsvGraduate.Items(i).SubItems(0).Text) & "')"

                MsgBox(sqlAdd)

                '  With ComAdd
                '.CommandType = CommandType.Text
                ' .CommandText = sqlAdd
                '.Connection = Conn
                '.ExecuteNonQuery()
                'End With
            Next i
        Next row

    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-12 19:44:44 By : AoFzaIT
 

   

ค้นหาข้อมูล


   
 

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