OleDbDataReader和DataSet

时间:2012-07-10 22:14:40

标签: vb.net vb6

如何将此代码更改为VB.NET?所以我想使用DataSet而不是ADODB.RecordsetOleDb.OleDbConnection而不是ADODB.Connection

Set oRs = New ADODB.Recordset
  oRs.Open ("Select * from Login Where Username= '" & txtUsername.Text & "'"),oCn,      adOpenStatic, adLockOptimistic, _
 adCmdText

If txtPassword.Text <> oRs.Fields("Password") Then
Call MsgBox("Incorrect Password", vbOKOnly, "Login Error")
txtPassword.Text = ""
txtPassword.SetFocus
Exit Sub
Else

strUserName = txtUsername.Text 'May need in the future project
 strName = oRs.Fields("FirstName") & " " & oRs.Fields("LastName")
 frmInstruction.Show

这是我到目前为止所尝试的:

Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Login WHERE  Username= '" & txtUsername.Text & "' AND password = '" & txtPassword.Text & "' ", oCn)

Dim sdr As OleDbDataReader = cmd.ExecuteReader()

If (sdr.Read() = True) Then

strUserName = txtUsername.Text

frmInstruction.Show()

'but am having issue with this line of code: 
strName = oRs.Fields("FirstName") & " " & oRs.Fields("LastName")

1 个答案:

答案 0 :(得分:0)

  

'但是这行代码有问题:strName =   oRs.Fields(“FirstName”)&amp; “”&amp; oRs.Fields( “名字”)

您可以使用OledbDataReader.GetString来读取FirstName和LastName字段:

Dim firstName = sdr.GetString(sdr.GetOrdinal("FirstName"))
Dim lastName = sdr.GetString(sdr.GetOrdinal("LastName")) 
strName = firstName & " " & lastName 
相关问题