没有返回值
public static bool login(M_Userinfo user)
{
string sql = "select * from userinfo where (user_name=@user_name) and(user_password=@user_password)";
//string sql = "insert into userinfo(user_name,user_password) values (@user_name,@user_password)";
Dictionary<string,object> dic=new Dictionary<string,object>();
dic.Add("@user_name",user.User_name);
dic.Add("@user_password",user.User_password);
return DBHelper.ExecuteNonQuery(sql,dic)>0 ? true:false ;
}
insert 语句能返回,select语句没有返回。是不是SQL语句有问题?where里面用'''+@user_name+'''吗?
[解决办法]
命令对象的ExecuteNonQuery()方法用于执行任何不从数据库返回结果集的SQL操作命令,包括INSERT INTO、UPDATE、DELETE语句、没有返回数值的存储过程、CREATE TABLE和CREATEINDEX之类的DDL语句。ExecuteNonQuery方法还可用来执行目录操作,例如查询数据库的结构或创建诸如表等的 数据库对象。ExecuteNonQuery方法对于UPDATE、INSERT INTO和DELETE这些操作语句,其返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也为-1。
[解决办法]
ExecuteNonQuery一般用插入删除更新,你读取数据用ExecuteReder吧,
还有你的字符串最好这么写,string sql=@"字符串";
[解决办法]