【问题标题】:Save query results as a string vb.net将查询结果保存为字符串 vb.net
【发布时间】:2015-04-21 14:20:26
【问题描述】:

我正在为登录表单创建忘记密码功能。如果用户的用户名和电子邮件与数据库中的内容匹配,则需要将包含其密码的电子邮件发送到他们的电子邮件地址。一旦我的选择语句获取了密码,我不知道如何将其转换为电子邮件正文。

cmd2.CommandText = "Select Password from tblLogin where Username = '" & UsernameTextBox.Text & "' and EmailAddress = '" & EmailAddressTextBox.Text & "'"
            pass = cmd2.ExecuteReader
            If pass.HasRows Then
                Do While pass.Read()
                    EmailMessage.Body = "Here is your password:"
                Loop
            Else
                Console.WriteLine("No rows found.")
            End If

我唯一能想到的就是: EmailMessage.Body = ("这是您的密码:" & pass) 但是我仍然需要弄清楚如何将 pass 转换为包含查询结果的字符串。

【问题讨论】:

  • 在数据库中存储未加密的密码。好吃:D
  • @Alex:通过电子邮件发送密码,甚至更美味。 ;)
  • 哈哈我不知道你可以在数据库中加密它们,但是通过电子邮件发送密码有什么问题?如果您忘记密码,许多大型网站不会做同样的事情吗?
  • 我能想到的每个“大”网站(gmail、Microsoft、steam 等)都有“忘记密码?”链接通过电子邮件向您发送重置密码的链接,而不是通过电子邮件发送您的实际密码。

标签: sql vb.net email


【解决方案1】:

EmailMessage.Body = "Here is your password: " & pass.Item(0)

【讨论】:

    【解决方案2】:

    由于您只需要数据库中的一个值,因此请查看 ExecuteScalar 而不是 ExecuteReader

    然而,正如 Alex 所说,未加密的密码确实不是一个好主意。

    【讨论】:

    • 是的,我什至没有想过这样做。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多