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 > ช่วยดูวนรูปให้หน่อยได้ไหมครับ ทำไมมันวน loop 2รอบ VB.net



 

ช่วยดูวนรูปให้หน่อยได้ไหมครับ ทำไมมันวน loop 2รอบ VB.net

 



Topic : 109810



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



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




คือaddข้อมูลอันเดียว แต่มันadd เพิ่ม ผมวน loop ตรงไหนผิดหรือป่าวครับ

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


        'บันทึก
        Dim Data, Series, Year, ModelSerial, URL As String
        Dim td As New ConnectDb
        td.OpenConn()
        Dim dtm As New DataTable
        For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2
            Data = Me.DataGridView2.Rows(i).Cells(0).Value
            Series = Me.DataGridView2.Rows(i).Cells(1).Value
            Year = Me.DataGridView2.Rows(i).Cells(2).Value
            ModelSerial = Me.DataGridView2.Rows(i).Cells(3).Value
            URL = Me.DataGridView2.Rows(i).Cells(4).Value

            dtm = td.ReadData("INSERT INTO Model(Data,Series,Year,ModelSerial,URL)VALUES('" & Data & "','" & Series & "','" & Year & "','" & ModelSerial & "','" & URL & "')")
            td.CloseConn()
            MessageBox.Show("555") 'เทสวนรูป
        Next i
        MessageBox.Show(" บันทึกข้อมูลเรียบร้อยแล้ว", " ข้อความจากระบบ", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

    End Sub




Tag : .NET, MySQL, VB.NET, VS 2008 (.NET 3.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-09 09:42:15 By : aoffyeiei View : 1891 Reply : 12
 

 

No. 1



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



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

Insert ข้องมูลไม่ใช้คลาส SqlCommand หรอครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 09:45:51 By : 01000010
 


 

No. 2



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



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


09. For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2

มันเริ่มจาก 0 ครับ ก็ต้องดูว่า (Me.DataGridView2.Rows.Count - 2) มันเท่ากับเท่าไหร่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 09:47:10 By : Chaidhanan
 

 

No. 3



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



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


คือมันก็บันทึกข้อมูลลง database ได้ปกตินะครับ แต่มันบันทึก2รอบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 09:57:11 By : aoffyeiei
 


 

No. 4



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



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


เพราะมันผ่าน for i สองครั้งไงครับ

ถ้า row.cout - 2 = 1 มันก็จะวน 2 รอบ ดังนั้นผมถึงให้คุณเช็ค สูตร ดูครับ ว่า row.count - 2 ได้ 0 หรือเปล่า เพื่อที่มันจะได้
ทำแค่ครั้งเดียวครับ คือผมไม่ได้เห้นหน้าpage ก้ต้องบอกให้คุณเช็คดูเอาเองครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:01:57 By : Chaidhanan
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-09 10:01:57
รายละเอียดของการตอบ ::
ผมเชคแล้วมันได้1ครับ



ประวัติการแก้ไข
2014-07-09 10:19:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:18:29 By : aoffyeiei
 


 

No. 6



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



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


0 - 1 = 2 รอบ ครับ ก็ให้ - 3 ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:20:27 By : Chaidhanan
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-09 10:01:57
รายละเอียดของการตอบ ::
คือผมต้องการ insert ข้อมูลจาก datagridview อันล่างอ่ะครับ insert เข้า database ส่วนอันบนแค่ โชว์ข้อมูลใน database

ssss

อันนี้ code
Code (VB.NET)
Public Class Insert

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'เพิ่มไฟล์
        
        Dim dialogOpenFiles As New OpenFileDialog()
        dialogOpenFiles.Multiselect = True
        dialogOpenFiles.Filter = "All Files (*.*)|*.*"

        If dialogOpenFiles.ShowDialog Then
            Dim i As String
            For Each i In dialogOpenFiles.FileNames
                Dim s() As String = i.Split("\")
                For j As Integer = 0 To UBound(s)
                    If j = 8 Then
                        'Me.ListBox1.Items.Add(s(8))
                    ElseIf j = 7 Then

                        'Me.ListBox2.Items.Add(s(7))
                    ElseIf j = 6 Then

                        'Me.ListBox3.Items.Add(s(6))
                    ElseIf j = 5 Then

                        'Me.ListBox4.Items.Add(s(5))
                    End If
                Next j 
                Me.DataGridView2.Rows.Add(s(5), s(6), s(7), s(8), i)
            Next i
        End If
      
    End Sub

    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim dataAdapter As New Data.SqlClient.SqlDataAdapter
        'บันทึก
        Dim Data, Series, Year, ModelSerial, URL As String
        Dim td As New ConnectDb
        td.OpenConn()
        Dim dtm As New DataTable
        For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2
            Data = Me.DataGridView2.Rows(i).Cells(0).Value.ToString
            Series = Me.DataGridView2.Rows(i).Cells(1).Value.ToString
            Year = Me.DataGridView2.Rows(i).Cells(2).Value.ToString
            ModelSerial = Me.DataGridView2.Rows(i).Cells(3).Value.ToString
            URL = Me.DataGridView2.Rows(i).Cells(4).Value.ToString

            'dataAdapter.InsertCommand.Parameters(0).Value = DataGridView2.Rows(i).Cells(0).Value
            'dataAdapter.InsertCommand.Parameters(1).Value = DataGridView2.Rows(i).Cells(1).Value
            'dataAdapter.InsertCommand.Parameters(2).Value = DataGridView2.Rows(i).Cells(2).Value
            'dataAdapter.InsertCommand.Parameters(3).Value = DataGridView2.Rows(i).Cells(3).Value

            dtm = td.ReadData("INSERT INTO Model(Data,Series,Year,ModelSerial,URL)VALUES('" & Data & "','" & Series & "','" & Year & "','" & ModelSerial & "','" & URL & "')")

            MessageBox.Show(DataGridView2.Rows.Count) 'เทสวนรูป
        Next i
        td.CloseConn()
        MessageBox.Show(" บันทึกข้อมูลเรียบร้อยแล้ว", " ข้อความจากระบบ", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

    End Sub

    Private Sub Insert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'TestDataDataSet.Model' table. You can move, or remove it, as needed.
        Me.ModelTableAdapter.Fill(Me.TestDataDataSet.Model)



    End Sub
End Class


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:23:41 By : aoffyeiei
 


 

No. 8



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



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


Code
46.For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2 47.Data = Me.DataGridView2.Rows(i).Cells(0).Value.ToString 48.Series = Me.DataGridView2.Rows(i).Cells(1).Value.ToString 49.Year = Me.DataGridView2.Rows(i).Cells(2).Value.ToString 50.ModelSerial = Me.DataGridView2.Rows(i).Cells(3).Value.ToString 51.URL = Me.DataGridView2.Rows(i).Cells(4).Value.ToString 52. 53.'dataAdapter.InsertCommand.Parameters(0).Value = DataGridView2.Rows(i).Cells(0).Value 54.'dataAdapter.InsertCommand.Parameters(1).Value = DataGridView2.Rows(i).Cells(1).Value 55.'dataAdapter.InsertCommand.Parameters(2).Value = DataGridView2.Rows(i).Cells(2).Value 56.'dataAdapter.InsertCommand.Parameters(3).Value = DataGridView2.Rows(i).Cells(3).Value 57. 58.dtm = td.ReadData("INSERT INTO Model(Data,Series,Year,ModelSerial,URL)VALUES('" & Data & "','" & Series & "','" & Year & "','" & ModelSerial & "','" & URL & "')") 59. 60.MessageBox.Show(DataGridView2.Rows.Count) 'เทสวนรูป 61.Next i


แก้เป็น

Code (VB.NET)
            Data = Me.DataGridView2.Rows(0).Cells(0).Value.ToString
            Series = Me.DataGridView2.Rows().Cells(1).Value.ToString
            Year = Me.DataGridView2.Rows(0).Cells(2).Value.ToString
            ModelSerial = Me.DataGridView2.Rows(0).Cells(3).Value.ToString
            URL = Me.DataGridView2.Rows(0).Cells(4).Value.ToString

            'dataAdapter.InsertCommand.Parameters(0).Value = DataGridView2.Rows(0).Cells(0).Value
            'dataAdapter.InsertCommand.Parameters(1).Value = DataGridView2.Rows(0).Cells(1).Value
            'dataAdapter.InsertCommand.Parameters(2).Value = DataGridView2.Rows(0).Cells(2).Value
            'dataAdapter.InsertCommand.Parameters(3).Value = DataGridView2.Rows(0).Cells(3).Value

            dtm = td.ReadData("INSERT INTO Model(Data,Series,Year,ModelSerial,URL)VALUES('" & Data & "','" & Series & "','" & Year & "','" & ModelSerial & "','" & URL & "')")


ไม่ต้องไปวนลูปให้เมื่่อยครับ เมื่อข้างล่างมันมีแค่ record เดียว
เป็น temporary พอ update เสร็จก็เคลียร์ เริ่มเข้ารายการใหม่ใช่ไหมครับ


ประวัติการแก้ไข
2014-07-09 10:37:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:36:24 By : Chaidhanan
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-09 10:36:24
รายละเอียดของการตอบ ::
หลาย record ครับ คือเหมือนพอผมกดปุ่มเลือกไฟล์ผมก็ broweอมา สมมติ ไฟล์เป็น pdf คือ มี pdf 20 ไฟล์
ผมก็ browe มันมาลงใน datagridview (อันล่าง) มันก็มี20 record ตามที่เรา browe มันมา
แต่พอกด บันทึกลง database แล้ว มันกลายเป็น 1record มีอีก 1record ที่เหมือนกัน
ก็กลายเป็น 40ไฟล์ที่อยู่ใน database ครับ

เช่น ผม browe ไฟล์มาชื่อ a,b,c,d
ตอนอยู่ใน datagridview(อันล่าง) มันก็ขึ้นเป็น
a
b
c
d
แต่พอกดบันทึกลง database แล้วมาเปิดดู
มันเป็น
a
a
b
b
c
c
d
d
ครับผม ><



ประวัติการแก้ไข
2014-07-09 10:53:20
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:47:55 By : aoffyeiei
 


 

No. 10



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



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


อ้อเข้าใจแล้วครับ

event ทำงาน 2 ครั้ง คล้ายกับกดปุ่ม ค้างไว้ใช่ไหมครับ
งั้นต้องสร้างตัวแปร ไว้ป้องกันการทำงานซ้อน

Public Class Insert
Dim isPress As Boolean = false;




Code (VB.NET)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     if not isPress then 
           isPress = true
           doevent(); // ไม่แน่ใจว่าคำสั่งนี้เท่าไหร่ ความหมายคือให้ทำ process อื่นก่อนครับ ผมไม่ได้ใช้นานแล้ว
           ' ทำงานต่อตามปกติ
           isPress = false
    endif
end sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 10:58:09 By : Chaidhanan
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-09 10:58:09
รายละเอียดของการตอบ ::

เอิ่ม มันไม่ใช่แบบนี้อ่ะครับ คือ

อันนี้คือผมกด browe มา 2ไฟล์ใช่ไหมครับ(เป็นไฟล์ที่ชื่อต่างกัน URLต่างกัน) มันก็จะมาอยู่ datagridview (อันล่าง) แบบนี้
ตามกรอบสีแดงเลยครับ
aa1

จากนั้นพอผมกดบันทึก
ข้อมูลจาก gridview อันล่าง
พอมันบันทึกลง database แล้ว มันมี อย่างละ2อัน
ตามกรอบเหลืองเลยครับ

aaa

ผมแค่อยากทราบว่า ผมควรวน loop อย่างไรดีให้มัน ไม่วนซ้ำเดิม

code
Code (VB.NET)
Public Class Insert

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'เพิ่มไฟล์

        Dim dialogOpenFiles As New OpenFileDialog()
        dialogOpenFiles.Multiselect = True
        dialogOpenFiles.Filter = "All Files (*.*)|*.*"

        If dialogOpenFiles.ShowDialog Then
            Dim i As String
            For Each i In dialogOpenFiles.FileNames
                Dim s() As String = i.Split("\")
                For j As Integer = 0 To UBound(s)

                    If j = 8 Then
                        'Me.ListBox1.Items.Add(s(8))
                    ElseIf j = 7 Then

                        'Me.ListBox2.Items.Add(s(7))
                    ElseIf j = 6 Then

                        'Me.ListBox3.Items.Add(s(6))
                    ElseIf j = 5 Then

                        'Me.ListBox4.Items.Add(s(5))
                    End If

                Next j
                Me.DataGridView2.Rows.Add(s(5), s(6), s(7), s(8), i)
            Next i
        End If
      
    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

 
    
        'บันทึก
        Dim Datas, Seriess, Years, ModelSerials, URLs As String
        Dim td As New ConnectDb
        td.OpenConn()
        Dim dtm As New DataTable

        For i As Integer = 0 To Me.DataGridView2.Rows.Count - 2
            
            Datas = Me.DataGridView2.Rows(i).Cells(0).Value.ToString
            Seriess = Me.DataGridView2.Rows(i).Cells(1).Value.ToString
            Years = Me.DataGridView2.Rows(i).Cells(2).Value.ToString
            ModelSerials = Me.DataGridView2.Rows(i).Cells(3).Value.ToString
            URLs = Me.DataGridView2.Rows(i).Cells(4).Value.ToString

            dtm = td.ReadData("INSERT INTO Model(Data,Series,Year,ModelSerial,URL)VALUES('" & Datas & "','" & Seriess & "','" & Years & "','" & ModelSerials & "','" & URLs & "')")
            td.CloseConn()
            'MessageBox.Show(DataGridView2.Rows.Count - 2) 'เทสวนรูป
        Next

        MessageBox.Show(" บันทึกข้อมูลเรียบร้อยแล้ว", " ข้อความจากระบบ", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

    End Sub

    Private Sub Insert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'TestDataDataSet.Model' table. You can move, or remove it, as needed.
        Me.ModelTableAdapter.Fill(Me.TestDataDataSet.Model)



    End Sub
End Class



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 13:31:52 By : aoffyeiei
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : aoffyeiei เมื่อวันที่ 2014-07-09 13:31:52
รายละเอียดของการตอบ ::
คือผมสามารถ browe มาลงใน gridview (อันล่าง) ได้ที่ละ เยอะๆ หรือมีในโฟเดอร์เท่าไรผมก็ดึงมาได้หมด
แต่พอเอามันลง database แล้วเหมือนมันวนซ้ำ2รอบ เขียนไปเขียนมึนเอง หาไม่เจอ T^T

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-09 13:34:19 By : aoffyeiei
 

   

ค้นหาข้อมูล


   
 

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