【问题标题】:asp.net.vb Invalid attempt to read when no data is presentasp.net.vb 不存在数据时尝试读取无效
【发布时间】:2011-07-17 17:18:17
【问题描述】:

我不确定为什么这段代码不起作用 我已经根据表字段数据进行了跟踪,但我仍然无法让 SQL Datareader 工作。我检查了表格和所有数据字段,一切都是正确的。但我仍然无法从数据库中读取数据。求助TT

    Dim connectionString = ConfigurationManager.ConnectionStrings("CleanOneConnectionString").ConnectionString
    Dim myConn As New SqlConnection(connectionString)
    myConn.Open()
    Dim cmd = "Select * from [Member] where Email = @Email"
    Dim myCmd As New SqlCommand(cmd, myConn)
    myCmd.Parameters.AddWithValue("@Email", emailBox.Text)
    Dim objReader As SqlDataReader

    objReader = myCmd.ExecuteReader()
    objReader.Read()
    Result.Text = " " 'initialise label to show correct message for available or found


    'Check the reader see if any  record found matching WHERE
    If (objReader.Read()) Then
        'read=true, check Password
        'Dim tpassword As String = objReader.GetString(5)
        'If tpassword = passwordBox.Text Then
        'Result.Text = "** Login Succcessful **"
        Result.Text = objReader.GetString(1)
        'Else
        'Result.Text = "Invalid Password" & objReader.GetString(5) & passwordBox.Text
        'End If
        'reader=false, no such records matching WHERE
    Else
        Result.Text = objReader.GetString(1)
    End If
    myCmd.Dispose()
    myConn.Dispose()

【问题讨论】:

  • 当您运行原始 SQL(使用 SQL 分析器查看)时,您是否从数据库中取回任何行?是否进入循环?
  • Fot 这个,不,但我确信我可以通过 SQLDataReader 获取行,对于这个,我似乎无法检索任何行。我已经尝试过无数次了

标签: asp.net sql database vb.net sqldatareader


【解决方案1】:

使用 MySql 进行测试:我收到 SQL 语法不正确的错误。

然后我删除了 [ ] 并且它可以工作。

SqlServer 怎么样?至少试试吧,我会说。

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多