MySQL 向变量中插入一列

标签 mysql vb.net

我正在做一个需要防止在数据库中插入双用户名的项目,我的代码如下所示:

    Command = New MySqlCommand("Select * From userscanner", Connection)
            Command.ExecuteNonQuery()
            Dim dr As MySqlDataReader
            dr = Command.ExecuteReader
            With dr
                .Read()
                Dim check As String = .Item(1)
                .Close()
                If check = txtbox_username.Text Then
                    MsgBox("Username Already Taken")
                    Exit Sub

我的问题是它只有 1 列,还是有任何其他方法可以防止我的数据库中出现双重用户名?

我需要我的用户名列中的所有列。我正在使用 VB 和 MySQL。

最佳答案

你应该询问你的数据库一个特定的用户名是否存在。 这可以通过 WHERE 来完成子句

 Dim sqlText = "SELECT 1 FROM userscanner WHERE username = @name"
 Using Command = New MySqlCommand(sqlText, Connection)
    Command.Parameters.Add("@name", MySqlDbType.VarChar).Value = txtbox_username.Text 
    Dim result = Command.ExecuteScalar()
    if result IsNot Nothing Then
        MsgBox("Username Already Taken")
    End If
End Using

这里我假设名为 userscanner 的数据库表有一个名为 username 的字段(您的代码使用 Item(1) 检索的字段),您在其中存储用户名.添加 WHERE 条件并在有记录时简单返回 1 允许使用简单的 ExecuteScalar如果有与您的文本框值匹配的记录,则返回值 1;如果没有记录,则返回 Nothing

关于MySQL 向变量中插入一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29569633/

相关文章:

php - 产品统计

mysql - 如何返回Node.js mysql查询连接的响应

c# - 当所需代码几乎没有逻辑时,是否还会使用 TDD 编写测试?为什么?

.net - 从 ms-access 客户端界面切换到可执行文件

vb.net - 使用带有 MLLP 的 VB.NET 发送 HL7

c# - 如何在没有重定向的情况下在 ASP.NET 中显示自定义 404 页面?

php - 将值从数据库写入另一个表

php - 如何将 18 个变量传递到一个函数中以验证 PHP/MySQL 交互

MySQL 日期和时间操作

.net - 使用 VB.NET 更新 MySQL