Visual basic hata Yardım

kumandan11

Üye
Katılım
4 Ağu 2013
Mesajlar
26
Puanları
1
SORUN ÇÖZÜLDÜ

Yardımlarınız için Teşekkür ederim.

C:
 Label13.Text = DataGridView3.Rows(0).Cells(1).Value.ToString

Yukarıdaki kod tek başına labele değeri yazmaktadır. Fakat aşağıdaki koddaki gibi for döngüsü içinde kullandığımda

System.NullReferenceException: 'Nesne başvurusu bir nesnenin örneğine ayarlanmadı.'

System.Windows.Forms.DataGridViewCell.Value.get, Nothing döndürdü.


C:
For i As Integer = 0 To DataGridView3.RowCount - 1
     Label13.Text = DataGridView3.Rows(i).Cells(1).Value.ToString
Next

Kullanmak istediğim yer uzun versiyonu


C:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        For i As Integer = 0 To DataGridView3.RowCount - 1
            Try
                connectionnn.Open()
            Catch ex As Exception
                MessageBox.Show("Bağlantı başarısız !!!" & vbCrLf & "Lütfen sunucunun hazır olup olmadığını kontrol edin !!!", "Hata mesajı", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Return
            End Try

            ID = DataGridView3.Rows(i).Cells(1).Value.ToString

            Try

                command.CommandType = CommandType.Text
                command.CommandText = "SELECT * FROM " & Table_Name1 & " WHERE ID LIKE '" & ID & "'"
                adapter = New SqlDataAdapter(command.CommandText, connectionnn)
                DT = New DataTable
                Data = adapter.Fill(DT)
                If Data > 0 Then

                    ID = DT.Rows(0).Item("ID")
                    isim = DT.Rows(0).Item("Name")

                Else
                    MsgBox("ID bulunamadı !!!" & vbCr & "Lütfen ID'nizi kaydedin.", MsgBoxStyle.Information, "Bilgi Mesajı")
                End If
            Catch ex As Exception
                MsgBox("Veritabanı yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")

                connectionnn.Close()
                Return
            End Try
            DT = Nothing
            connectionnn.Close()

            Try
                connectionnn.Open()
                command.CommandType = CommandType.Text
                command.CommandText = "SELECT TOP 1 * FROM " & Table_Name2 & " WHERE ID LIKE '" & ID & "' ORDER BY Giriş_Tarihi DESC,Giriş_Saati DESC"
                adapter = New SqlDataAdapter(command.CommandText, connectionnn)
                DT = New DataTable
                Data = adapter.Fill(DT)
                If Data > 0 Then

                    G_D = DT.Rows(0).Item("Giriş_Durumu")
                    Ç_D = DT.Rows(0).Item("Çıkış_Durumu").ToString()
                    If Giriş_D = "GİRİŞ" Then
                        If Ç_D = "" Then
                            G_Durumu = True
                        End If
                    End If
                    If Ç_D = "ÇIKIŞ" Then
                        G_Durumu = False
                    End If

                Else
                    DT = Nothing
                    connectionnn.Close()
                    Try
                        connectionnn.Open()
                        command.CommandType = CommandType.Text
                        command.CommandText = "SELECT * FROM " & Table_Name1 & " WHERE ID LIKE '" & ID & "'"
                        adapter = New SqlDataAdapter(command.CommandText, connectionnn)
                        DT = New DataTable
                        Data = adapter.Fill(DT)
                        If Data > 0 Then
                            DT = Nothing
                            connectionnn.Close()
                            If G_Durumu = False Then
                                connectionnn.Open()
                                Try
                                    command = New SqlCommand
                                    With command
                                        .CommandText = "INSERT INTO " & Table_Name2 & " (Name, ID, Giriş_Tarihi, Giriş_Saati, Giriş_Durumu) VALUES (@name, @id, @giriş_tarihi, @giriş_saati, @giriş_durumu)"
                                        .Connection = connectionnn
                                        .Parameters.AddWithValue("@name", DataGridView3.Rows(i).Cells(0).Value.ToString)
                                        .Parameters.AddWithValue("@id", DataGridView3.Rows(i).Cells(1).Value.ToString)
                                        .Parameters.AddWithValue("@giriş_tarihi", DataGridView3.Rows(i).Cells(2).Value.ToString)
                                        .Parameters.AddWithValue("@giriş_saati", DataGridView3.Rows(i).Cells(3).Value.ToString)
                                        .Parameters.AddWithValue("@giriş_durumu", "GİRİŞ")
                                        .ExecuteNonQuery()
                                    End With
                                    'LabelTarih.Text = DateTime.Now.ToString("yyyy-MM-dd")
                                    'LabelSaat.Text = DateTime.Now.ToString("HH:mm:ss")
                                    'LabelDurum.Text = "Giriş Yapıldı. İyi Çalışmalar."
                                    'LabelDurum.Visible = True
                                    connectionnn.Close()
                                Catch ex As Exception
                                    MsgBox("Insert yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")
                                    Return
                                End Try
                            End If
                        Else
                            MsgBox("ID bulunamadı !!!" & vbCr & "Lütfen ID'nizi kaydedin.", MsgBoxStyle.Information, "Bilgi Mesajı")
                        End If
                    Catch ex As Exception
                        MsgBox("Veritabanı yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")

                        connectionnn.Close()
                        Return
                    End Try
                    DT = Nothing
                    connectionnn.Close()
                End If
            Catch ex As Exception
                MsgBox("Veritabanı yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")

                connectionnn.Close()
                Return
            End Try
            DT = Nothing
            connectionnn.Close()

            Try
                connectionnn.Open()
                command.CommandType = CommandType.Text
                command.CommandText = "SELECT TOP 1 * FROM " & Table_Name2 & " WHERE ID LIKE '" & ID & "' ORDER BY Giriş_Tarihi DESC,Giriş_Saati DESC"
                adapter = New SqlDataAdapter(command.CommandText, connectionnn)
                DT = New DataTable
                Data = adapter.Fill(DT)
                If Data > 0 Then

                    G_D = DT.Rows(0).Item("Giriş_Durumu")
                    Ç_D = DT.Rows(0).Item("Çıkış_Durumu").ToString()
                    If G_D = "GİRİŞ" Then
                        If Ç_D = "" Then
                            G_Durumu = True
                        End If
                    End If
                    If Ç_D = "ÇIKIŞ" Then
                        G_Durumu = False
                    End If
                End If
            Catch ex As Exception
                MsgBox("Veritabanı yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")

                connectionnn.Close()
                Return
            End Try
            DT = Nothing
            connectionnn.Close()

            Try
                connectionnn.Open()

                If G_Durumu = False Then

                    Try
                        command = New SqlCommand
                        With command
                            .CommandText = "INSERT INTO " & Table_Name2 & " (Name, ID, Giriş_Tarihi, Giriş_Saati, Giriş_Durumu) VALUES (@name, @id, @giriş_tarihi, @giriş_saati, @giriş_durumu)"
                            .Connection = connectionnn
                            .Parameters.AddWithValue("@name", DataGridView3.Rows(i).Cells(0).Value.ToString)
                            .Parameters.AddWithValue("@id", DataGridView3.Rows(i).Cells(1).Value.ToString)
                            .Parameters.AddWithValue("@giriş_tarihi", DataGridView3.Rows(i).Cells(2).Value.ToString)
                            .Parameters.AddWithValue("@giriş_saati", DataGridView3.Rows(i).Cells(3).Value.ToString)
                            .Parameters.AddWithValue("@giriş_durumu", "GİRİŞ")
                            .ExecuteNonQuery()
                        End With
                        'LabelTarih.Text = DateTime.Now.ToString("yyyy-MM-dd")
                        'LabelSaat.Text = DateTime.Now.ToString("HH:mm:ss")
                        'LabelDurum.Text = "Giriş Yapıldı. İyi Çalışmalar."
                        'LabelDurum.Visible = True
                        connectionnn.Close()
                    Catch ex As Exception
                        MsgBox("Insert yüklenemedi !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")
                        Return
                    End Try
                Else
                    Try
                        command = New SqlCommand
                        With command
                            .CommandText = ";WITH CTE AS ( SELECT TOP 1 * FROM " & Table_Name2 & " WHERE ID LIKE '" & ID & "' ORDER BY Giriş_Tarihi DESC,Giriş_Saati DESC) UPDATE CTE SET Çıkış_Tarihi=@çıkış_tarihi,Çıkış_Saati=@çıkış_saati,Çıkış_Durumu=@çıkış_durumu WHERE ID=@id"
                            .Connection = connectionnn
                            .Parameters.AddWithValue("@id", DataGridView3.Rows(i).Cells(1).Value.ToString)
                            .Parameters.AddWithValue("@çıkış_tarihi", DataGridView3.Rows(i).Cells(2).Value.ToString)
                            .Parameters.AddWithValue("@çıkış_saati", DataGridView3.Rows(i).Cells(3).Value.ToString)
                            .Parameters.AddWithValue("@çıkış_durumu", "ÇIKIŞ")
                            .ExecuteNonQuery()
                        End With
                    Catch ex As Exception
                        MsgBox("Güncelle yapılamadı !!!" & vbCr & ex.Message, MsgBoxStyle.Critical, "Hata mesajı")
                        Return
                    End Try
                    'LabelTarih.Text = DateTime.Now.ToString("yyyy-MM-dd")
                    'LabelSaat.Text = DateTime.Now.ToString("HH:mm:ss")
                    'LabelDurum.Text = "Çıkış Yapıldı. İyi İstirahatlar."
                    'LabelDurum.Visible = True
                    connectionnn.Close()

                End If

            Catch ex As Exception
                'LabelDurum.Text = "Bilgiler kaydedilemedi !!!"
                'LabelDurum.Visible = True
                connectionnn.Close()
                Return
            End Try
            connectionnn.Close()
        Next
    End Sub
 
Son düzenleme:

Forum istatistikleri

Konular
128,159
Mesajlar
915,559
Kullanıcılar
449,917
Son üye
kasva1965

Yeni konular

Geri
Üst