asp.net连接Mysql数据代码。为什么这样写总是返回(用户名可用)呢?
2个回答
展开全部
楼主把你的判断语句的&&换成||即可。原理如下:
对于查询单个字段,不包括函数的 select 语句,例如 select a字段 from 表A ,如果不存在值,Command.ExecuteScalar 方法的返回值是 null,调用者需要使用 result == null 来判断。
对于使用函数的select 语句,例如select sum(a字段) from 表A,如果不存在值,Command.ExceuteScalar 方法的返回值是 DBNull.Value,调用者需要用 result is DBNull 或者 result == DBNull.Value 来判断。
对 ADO.NET 的 DbCommand.ExecuteScalar 方法的调用者来说,要注意根据所使用的 SQL 语句来选择使用 result == null 还是使用 result is DBNull 来判断查询结果是否为空。如果使用 result == null || result is DBNull 来判断查询结果是否为空就更保险了,能够适应这两种 SQL 语句的写法,但是运行效率会有所降低。
对于查询单个字段,不包括函数的 select 语句,例如 select a字段 from 表A ,如果不存在值,Command.ExecuteScalar 方法的返回值是 null,调用者需要使用 result == null 来判断。
对于使用函数的select 语句,例如select sum(a字段) from 表A,如果不存在值,Command.ExceuteScalar 方法的返回值是 DBNull.Value,调用者需要用 result is DBNull 或者 result == DBNull.Value 来判断。
对 ADO.NET 的 DbCommand.ExecuteScalar 方法的调用者来说,要注意根据所使用的 SQL 语句来选择使用 result == null 还是使用 result is DBNull 来判断查询结果是否为空。如果使用 result == null || result is DBNull 来判断查询结果是否为空就更保险了,能够适应这两种 SQL 语句的写法,但是运行效率会有所降低。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询