webForumDet fria alternativet

dataset - rows

3 svar · 208 visningar · startad av P

PMedlem sedan jan. 20012 204 inlägg
#1

Vill loopa genom alla rader i en dataset och kolla om en column innehåller ett värde. Har denna kod men det fungerar inte...

    Public Shared Function CheckUserName(ByVal strUserName As String, ByVal intSysID As Integer)
        Dim objData As New SecurityDB()
        Dim dsUsers As DataSet
        dsUsers = objData.GetAllUsers(intSysID)
        Dim row As DataRow
        For Each row In dsUsers.Tables(0).Rows
            If dsUsers.Tables(0).Columns("UserName").ToString = strUserName Then
                Return True
            End If
        Next row
        Return False
    End Function
WalkerMedlem sedan okt. 2002188 inlägg
#2

Blandar du inte ihop det nu?

Lite osäker men det jag tror du gör nu äratt kolla om "namnet" på den första kolumnen är strUserName.

Testa

c#

foreach(DataRow row in ds.Tables[0])
{
if (row["username"] == strUserName) { return true;}
}

PMedlem sedan jan. 20012 204 inlägg
#3

översatte lite av din kod till vb.net blev så här:

    Public Shared Function CheckUserName(ByVal strUserName As String, ByVal intSysID As Integer)
        Dim objData As New SecurityDB()
        Dim dsUsers As DataSet
        dsUsers = objData.GetAllUsers(intSysID)
        Dim row As DataRow
        For Each row In dsUsers.Tables(0).Rows
            If row("UserName") = strUserName Then
                Return True
            End If
        Next
        Return False
    End Function

Sen i codebehind:

        If Security.CheckUserName(tbUserName.Text, Session("SydId")) = False Then
            lblMessage.Text = "instert"
        Else
            lblMessage.Text = "En användare med namnet existerar redan!"
        End If

DataSetet innehåller information, det vet jag.

Felet är att insert alltid skrivs ut...

Red: i min kod har jag Tables(0).Rows - såg att du inte hade det i din men får fel annars...

PMedlem sedan jan. 20012 204 inlägg
#4

nu fungerade det... skickade in SydId istället för SysId... pinsamt!

135 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)