Döngü içinde döngü neden çalışmıyor? hata nerde?

Bu konuyu okuyanlar

Vatansever

Asistan
Katılım
23 Ağustos 2007
Mesajlar
405
Reaksiyon puanı
1
Puanları
18
yeniTablo ve aramatablosu isminde iki adet DataTable var yeniTablo içinden bir satırdaki tüm bilgileri alıyorum ve aramatablosu'undaki bütün satırlardaki bilgilerle karşılaştırıyorum birebir herşeyi aynı satır varmı diye amacım yeniTablo içindeki satırlarda aramatablosu'nda bulunan satırlarla birebir aynı olmayan satırları bulmak ama yazdığım kod çalışmıyor
For R As Integer = 0 To yeniTablo.Rows.Count - 1 döngüsünün içindeki For i As Integer = 0 To aramatablosu.Rows.Count - 1 döngüsünü es geçip duruyor bu denklemde hata nerede yazdığım kod bana doğru görünüyor yeniTablo içinden tek satırı alıp aramatablosu içindeki bütün satırlarla karşılaştırıyor birebir aynısından varm'ı diye :) yani öyle olması lazım ama olmuyor


Kod:
        For R As Integer = 0 To yeniTablo.Rows.Count - 1
                    If yeniTablo.Rows(R).Item(1).ToString = "Kisiler" Then
                    
                For i As Integer = 0 To aramatablosu.Rows.Count - 1
                       If IfNullObj(yeniTablo.Rows(R).Item(2)) = IfNullObj(aramatablosu.Rows(i).Item(2)) And IfNullObj(yeniTablo.Rows(R).Item(3)) = IfNullObj(aramatablosu.Rows(i).Item(3)) And IfNullObj(yeniTablo.Rows(R).Item(4)) = IfNullObj(aramatablosu.Rows(i).Item(4)) And IfNullObj(yeniTablo.Rows(R).Item(5)) = IfNullObj(aramatablosu.Rows(i).Item(5)) Then
                    MsgBox("Aynı satırdan bulundu")
            End If
                Next i
        
                    End If
                Next R
Bilgiler okunurken boş değerlerle karşılaşıldığında kod hata veriyor aşağıdaki fonksiyon bu sorunu hallediyor
Kod:
    Public Function IfNullObj(ByVal o As Object, Optional ByVal DefaultValue As String = "") As String
        Dim ret As String = ""
        Try
            If o Is DBNull.Value Then
                ret = DefaultValue
            Else
                ret = o.ToString
            End If
            Return ret
        Catch ex As Exception
            Return ret
        End Try
    End Function

:mellow:
 

Madem_Kii

Öğrenci
Katılım
24 Haziran 2012
Mesajlar
7
Reaksiyon puanı
0
Puanları
0
Birbiriyle uyuşmayan veri tipleri olabilir. Onlaı bi kontrol et derim.
 

Vatansever

Asistan
Katılım
23 Ağustos 2007
Mesajlar
405
Reaksiyon puanı
1
Puanları
18
Birbiriyle uyuşmayan veri tipleri olabilir. Onlaı bi kontrol et derim.

Bilgi tiplerinin hepsi text farklı bir veri tipi kullanılmadı ilginç olan şey altta resimde görüldüğü gibi sol taraftaki kırmızı gibi işaret koyup testini yaptığımda kod çalışırken içerde bulunan döngüyü es geçiyor hiç içine girmiyor.
If yeniTablo.Rows(R).Item(1).ToString = "Kisiler" Then kodunu geçiyor altındaki For i As Integer = 0 To aramatablosu.Rows.Count - 1 koduna geliyor ve hoop geri dönüyor ,,,
If yeniTablo.Rows(R).Item(1).ToString = "Kisiler" Then kodunu aşıyor !!!!!!!!!!!!!!!!!!!!!!



debug2_small.png
 
Üst