添加用户判断用户名是否存在

验证账户唯一性方法
本文介绍了一种在软件项目中确保账户名不重复的方法。通过使用LINQ和EF查询,可以有效验证账户是否已存在,并提供了排除当前用户的选项。

在项目中,我们添加一个账户,用户名或者登录名等可能要求不能重复,方法如下:

参考项目中的这个写法:

 /// <summary>
        /// 账户不能重复
        /// </summary>
        /// <param name="account">账户值</param>
        /// <param name="keyValue">主键</param>
        /// <returns></returns>
        public bool ExistAccount(string account, string keyValue)
        {
            var expression = LinqExtensions.True<UserEntity>();
            expression = expression.And(t => t.Account == account);
            if (!string.IsNullOrEmpty(keyValue))
            {
                expression = expression.And(t => t.UserId != keyValue);
            }
            return this.BaseRepository().IQueryable(expression).Count() == 0 ? true : false;
        }

修改用EF写法:

/// <summary>
        /// 账户不能重复
        /// </summary>
        /// <param name="account">账户值</param>
        /// <param name="keyValue">主键</param>
        /// <returns></returns>
        public bool ExistAccount(string account, string keyValue = "")
        {
            var data=db.Sys_User.Where(t => t.Account == account);
            if (!string.IsNullOrEmpty(keyValue))
            {
                data = data.Where(t => t.UserId != keyValue);
            }
            return data.Count() == 0 ? true : false;
        }

 传递keyValue,用于排除自我,这种情况用在登录用户等会后去修改自己的用户名,在修改过程中,用户突然改变想法还是用老的用户名,这时候如果不排除自我,会显示用户名已经存在,所以加了一个

   if (!string.IsNullOrEmpty(keyValue))
            {
                data = data.Where(t => t.UserId != keyValue);
            }

这个方法!

转载于:https://www.cnblogs.com/yechangzhong-826217795/p/5844605.html

首先,你需要确保你已经安装了 JDK 和 Eclipse IDE。接着,你需要下载并安装 MySQL 数据库,并在其中创建一个用户表。 接下来,你需要下载并安装 MySQL JDBC 驱动程序。你可以从 MySQL 官方网站下载最新的 JDBC 驱动程序,或者从 Maven 中央仓库中下载。将下载的 JAR 文件添加到你的 Eclipse 项目的类路径中。 下面是一个简单的 Java 程序,用于连接 MySQL 数据库并检查用户名是否存在: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入用户名:"); String username = scanner.nextLine(); try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false", "root", "password")) { String sql = "SELECT COUNT(*) FROM users WHERE username = ?"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, username); ResultSet rs = stmt.executeQuery(); if (rs.next() && rs.getInt(1) > 0) { System.out.println("用户名存在。"); } else { System.out.println("用户名存在。"); } } catch (SQLException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们首先让用户输入一个用户名。然后,我们使用 JDBC 驱动程序连接到 MySQL 数据库,并执行一个查询语句来检查用户名是否存在。如果用户名存在,则输出“用户名存在”。否则,输出“用户名存在”。 请注意,上面的代码中的数据库连接 URL、用户名和密码应根据你自己的情况进行修改。你可能需要根据你的 MySQL 安装设置更改主机名、端口号、数据库名称、用户名和密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值