The iterating part should be pretty straightforward - instead of looking only at row 0 of your datatable, loop through each of them with a For or a For Each loop. Once you find the match, you can break the loop, and if you do not find a match, error out at that time.
This is also an example of how using objects might be easier - if you deserialized all of your members into a list or an array, then you could use a Predicate expression to find a match, with only one or two lines of code. On Mar 31, 11:34 am, Brock <[email protected]> wrote: > THANKS!! (almost got it working - only works on the first "record" in > the XML file - not iterating (email = txtEmailAddress.Text And > password = txtPassword.Text) that got it to compile > > ALSO I had a basic logic error in that I needed the login results > IfThen blocks to be inside the main IfThen of the Sub like this: > > Private Sub btnLogin_Click(ByVal sender As System.Object, _ > ByVal e As System.EventArgs) Handles btnLogin.Click > Dim ds As DataSet = New DataSet > ds.ReadXml(MapPath("members.xml")) > Dim email As String = "" > Dim password As String = "" > > If ds.Tables(0).Rows.Count > 0 Then > email = ds.Tables(0).Rows(0)("EmailAddress").ToString() > password = ds.Tables(0).Rows(0)("Password").ToString() > > If (email = txtEmailAddress.Text And password = > txtPassword.Text) Then > lblLoginFailure.Visible = True > lblLoginFailure.Text = "Welcome to Our Site." > Else > lblLoginFailure.Visible = True > lblLoginFailure.Text = "Email Address and/or Password > are incorrect. Please try again." > End If > > End If > > End Sub > > On Mar 31, 2:03 pm, Joe Enos <[email protected]> wrote: > > > == is not the equals operator in VB.NET. > > > @Brock: > > I believe your code is not compiling because you're trying to compare > > a string to a textbox, not the contents of the textbox: > > (email = txtEmailAddress And password = txtPassword) > > should be > > (email = txtEmailAddress.Text And password = txtPassword.Text) > > > FYI: There are better ways of accomplishing this rather than a dataset > > - XPath, serialization, etc. > > Also, I don't think it matters in this case, but it's good practice to > > keep case correct - when retrieving values from your dataset, the > > column names are capitalized differently from the XML element names. > > > On Mar 31, 9:49 am, "Stephen Russell" <[email protected]> wrote: > > > > == instead of = > > > > ......................... > > > Stephen Russell - > > > Senior Visual Studio Developer, DBA > > > > Memphis, TN > > > 901.246-0159 > > > > > -----Original Message----- > > > > From: [email protected] > > > > [mailto:[email protected]] On Behalf Of Brock > > > > Sent: Tuesday, March 31, 2009 10:55 AM > > > > To: DotNetDevelopment, VB.NET, C# .NET, ADO.NET, ASP.NET, XML, XML Web > > > > Services,.NET Remoting > > > > Subject: [DotNetDevelopment] querying XML for user login > > > > > I'm trying to use an XML file like below for users to login to my > > > > website. I have some code started below, but I'm sure there's a better > > > > way. "(email = txtEmailAddress And password = txtPassword)" does not > > > > compile. > > > > > <?xml version="1.0" standalone="yes"?> > > > > <members> > > > > <member> > > > > <firstName>Ralph</firstName> > > > > <lastName>Ward</lastName> > > > > <emailAddress>[email protected]</emailAddress> > > > > <password>1920</password> > > > > </member> > > > > </members> > > > > > Private Sub btnLogin_Click(ByVal sender As System.Object, _ > > > > ByVal e As System.EventArgs) Handles btnLogin.Click > > > > > Dim ds As DataSet = New DataSet > > > > ds.ReadXml(MapPath("members.xml")) > > > > Dim email As String = "" > > > > Dim password As String = "" > > > > > If ds.Tables(0).Rows.Count > 0 Then > > > > email = ds.Tables(0).Rows(0)("EmailAddress").ToString() > > > > password = ds.Tables(0).Rows(0)("Password").ToString() > > > > End If > > > > > If (email = txtEmailAddress And password = txtPassword) Then > > > > lblLoginFailure.Visible = True > > > > lblLoginFailure.Text = "Welcome to Our Site." > > > > Else > > > > lblLoginFailure.Visible = True > > > > lblLoginFailure.Text = "Email Address and/or Password are > > > > incorrect. Please try again." > > > > End If > > > > End Sub > > > > > No virus found in this incoming message. > > > > Checked by AVG -www.avg.com > > > > Version: 8.0.238 / Virus Database: 270.11.31/2029 - Release Date: > > > > 03/31/09 06:02:00- Hide quoted text - > > > - Show quoted text -
