asp.net连接Mysql数据代码。为什么这样写总是返回(用户名可用)呢?
代码如果。 --------------------编程问答-------------------- sql语句改成select count(*) from ......
if语句改成:
if(Convert.ToInt32(com.ExecuteScalar())>0)
//用户名存在
else
//用户名不存在 --------------------编程问答-------------------- name不是字符串类型吗?两边不需要单引号?
另外,你的ExecuteScalar最好先放在一个变量里,然后用变量来判断比较,你现在这种比较相当于查询了数据库两次,效率很低很多
object obj=com.ExecuteScalar();
if(obj!=null && obj!=System.DBNull.Value)
{
}
else
{
} --------------------编程问答-------------------- 建议还是用select count(*)吧 --------------------编程问答-------------------- LZ为什么要把上一个语句给注释掉呢,那个是正确的
还有查询出的结果是返回一个object类型
如果查到了记录就返回该Id的值,如果查不到就返回null
所以个人认为只要判断cmd.executescalar()是否等于null就行了
--------------------编程问答-------------------- name不是字符串类型吗?不用加''? --------------------编程问答--------------------
两边加单引号查询时就报错了,我是用mssql的,mysql刚用不久,mssql就要用单引号。 --------------------编程问答--------------------
两边加单引号查询时就报错了,我是用mssql的,mysql刚用不久,mssql就要用单引号。 --------------------编程问答-------------------- string sql=string.Format("select count(1) from [user] where [name]='{0}'",userName); --------------------编程问答--------------------
为什么name='{0}'不能加引用?只能这样写name={0}
一加单引号就报错了。
--------------------编程问答-------------------- 建议用ExecuteXXXNonQuery方法查询,返回int判断
补充:.NET技术 , ASP.NET