如果电子邮件/密码输入错误,无法显示错误消息

2024-04-21

如果电子邮件/密码输入错误,我希望出现一个消息框。我正在使用 else 语句,但如果登录不正确,它不会显示消息。

MyConn = New OleDbConnection 
        MyConn.ConnectionString = connString 
        MyConn.Open() 

        str1 = ("SELECT * FROM [UserData] WHERE [Username] = '" & TxtUserName.Text & "' AND [Password] = '" & TxtPassword.Text & "'") 
        Dim cmd1 As OleDbCommand = New OleDbCommand(str1, MyConn)
        dr = cmd1.ExecuteReader 
        While dr.Read() 
            userFound = True 
            TxtPassword.Text = dr("Username").ToString 
            TxtUserName.Text = dr("Password").ToString 
            FirstNameToPass = dr("First Name").ToString 
            LastNameToPass = dr("Last Name").ToString 
            AddressToPass = dr("Address").ToString 
            EmailToPass = dr("Email").ToString 
            If userFound = True Then
                UserAccountView.Show() 
                Me.Hide() 
                TxtPassword.Clear() 
                TxtUserName.Clear() 
            Else
                MsgBox("Login is incorrect")
            End If
        End While
        MyConn.Close() 
    End If

reader.Read()如果行存在则返回 true,如果结果集为空则返回 false。在您的情况下,如果没有这样的用户(提供的用户名和密码),程序将不会进入循环并且不会到达If userFound = True block.

所以,跳过while循环并编写如下内容:

If dr.HasRows
    dr.Read()
    TxtPassword.Text = dr("Username").ToString 
    TxtUserName.Text = dr("Password").ToString 
    FirstNameToPass = dr("First Name").ToString 
    LastNameToPass = dr("Last Name").ToString 
    AddressToPass = dr("Address").ToString 
    EmailToPass = dr("Email").ToString 

    UserAccountView.Show() 
    Me.Hide() 
    TxtPassword.Clear() 
    TxtUserName.Clear() 
Else
    MsgBox("Login is incorrect")
End If

edit:

还有一件事:永远不要连接字符串来创建命令文本。相反,使用参数:

str1 = ("SELECT * FROM [UserData] WHERE [Username] = ? AND [Password] = ?") 
Dim cmd1 As OleDbCommand = New OleDbCommand(str1, MyConn)
cmd1.Parameters.Add(New OleDbParameter("Username", CType(TxtUserName.Text, String))) 
cmd1.Parameters.Add(New OleDbParameter("Password", CType(TxtPassword.Text, String))) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果电子邮件/密码输入错误,无法显示错误消息 的相关文章

随机推荐

  • 如何选择不是第一个 tr 也不是最后一个 td

    MyTable tr tr hover background dfdfdf table tr td A td td B td td C td tr tr td 1 td td 2 td td X td tr tr td 3 td td 4
  • 重塑图像数组时感到困惑

    目前我正在尝试运行 ConvNet 随后将输入神经网络的每张图像都存储为列表 但目前该列表是使用三个 for 循环创建的 看一看 im Image open os path join p input directory item pix i
  • mingw32-make 尝试创建子文件夹 .lib 为非法名称

    我正在尝试编译一个需要 freetype 库的项目 所以我正在弄清楚如何将 freetype 安装到 mingw32 更安全的方法是编译它 无论如何 问题是编译 freetype 2 4 11 我进入了msys中提供的bash 我做到了 c
  • 我们如何在基于Dot Net的Azure移动服务中加载相关对象(预加载)?

    如果我有以下模型结构 public class QuestionItem EntityData public string Content get set public bool IsAnswered get set public int
  • 你能有一个指向工会成员的“成员指针”吗?

    我能找到的所有描述都讨论了类上下文中的 指向成员的指针 工会与结构非常相似 特别是也有成员 您也能指点一下这些成员吗 E g union x int a float b int x p x a 我不是在谈论指向整个联合体的指针 作为联合体成
  • 通过 WebSocket 发送 ArrayBuffer 的子段而不进行复制

    我正在填充一个ArrayBuffer与要通过发送的数据WebSocket 数据具有可变大小 因此在序列化时我动态扩展ArrayBuffer如所须 然而 当序列化过程完成时 我经常在缓冲区末尾有未使用的空间 我不想发送这些空间 可以将所需部分
  • 为什么要费心设置命令对象参数的大小参数?

    我们的数据访问层使用命令对象与sql server 进行通信 在大多数情况下 我已将字段大小 与 sql server 中的列大小匹配 硬编码到命令参数生成器中 Such as SqlParameter param new SqlParam
  • 扩展 Symfony2 控制器解析器

    我目前正在创建一个包 如果请求是 Ajax 请求 它可以将 fooAction 重命名为 fooAjaxAction 作为答案那个问题 https stackoverflow com questions 24672349 edit symf
  • 如何删除 Next.js 中 id="__next" 的 div

    我正在使用 Next js 制作一个网站 我想要一个标题position sticky 行为 然而 Next js 自动生成一个带有属性的 divid next 未经我的许可在我的网站的根目录中 我需要删除该 div 以便position
  • 如何让 Celery 工作人员返回任务结果

    我有一个调用任务的烧瓶应用程序 该任务从数据库中提取数据 绘制折线图并返回在 html 页面上呈现的 html 内容 如果没有 Celery Flask 应用程序可以正常工作并在客户端呈现折线图 但现在我想委托 celery 通过以下方式运
  • CDN 不工作时如何加载本地文件

    我正在使用一些 CDN js 和 css 文件 我在Google上搜索了如果CDN不工作如何加载本地数据 我发现一个很好的链接是这样写的
  • 仅加载 html5 视频/音频的元数据

    首先 我想问这个问题 如果没有任何其他视频内容 我无法加载元数据 preload metadata 不管用 我在 Win Chrome 上测试 不知道它在 Safari FF IE Opera 上如何工作 因此我无法快速加载六个或更多视频剪
  • 事件处理程序返回未定义?

    假设我将 jQuery 单击事件的事件处理程序附加到我的对象的函数之一 但为什么它在我的属性上返回未定义 var buttonView label underscore onClick function alert clicked this
  • 将 SharePoint 用户写入 SharePoint 列表中的用户字段的正确方法

    我正在将用户写入 SharePoint 列表 我读到 SharePoint 用户字段内部有一个类似这样的字符串 userId userLoginName 在写入用户字段时 我尝试以相同的方式进行格式化 例如 当我写入此字符串时 它会起作用
  • 将多个 Word 文档合并为一个 Open Xml

    我有大约 10 个 word 文档 它们是使用 open xml 和其他东西生成的 现在我想创建另一个word文档 我想将它们逐一加入到这个新创建的文档中 我希望使用 open xml 任何提示都会很有意义 下面是我的代码 private
  • npm start 如何在端口 8000 上运行服务器

    我最近使用 github 上的 Angular Seed 文件夹进行 Angular 应用程序开发 在之前的一些 AngularJS 教程中 Angular Seed 文件夹中有一个脚本文件夹和一个 server js 文件 其中包含运行节
  • 是否可以将 UIView 的顶部固定到导航栏的底部?

    我试图将 UIView 定位在导航栏下方 20pt 但是当我相对于视图控制器上的视图设置它时 它仍然位于导航栏下方 20pt 并且我不想对其进行硬编码 是否可以将其放置在远离导航栏的位置 要以编程方式执行此操作 请使用topLayoutGu
  • Powershell 以块的形式读取文件

    我有一个用 Powershell 编写的脚本 它通过 FTP 传输文件 使用以下命令可以正常工作 content System IO File ReadAllBytes backup app data 但是 一旦文件大小达到 2Gb 此方法
  • 标题正确,但 Chrome 显示“资源解释为文档”

    我读了很多这样的问题 但我真的无法弄清楚 我用archiver https www npmjs com package archiver and express https www npmjs com package expressNode
  • 如果电子邮件/密码输入错误,无法显示错误消息

    如果电子邮件 密码输入错误 我希望出现一个消息框 我正在使用 else 语句 但如果登录不正确 它不会显示消息 MyConn New OleDbConnection MyConn ConnectionString connString My