(select password,Id from u_users where (LoginName='{0}' or handphone='{0}' or eMail='{0}')", userName ) 这里面的userName是什么意思?
以下是整体代码 求解释!
public static int ValidateUserInfo(string userName, string userPwd)
{
SqlDataReader tablePws = null;
string md5pws = ToMD5(userPwd);
SqlConnection conn = new SqlConnection();
conn.ConnectionString = staticValue.staticValue.userDB;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = string.Format("select password,Id from u_users where (LoginName='{0}' or handphone='{0}' or eMail='{0}')", userName);
conn.Open();
tablePws = cmd.ExecuteReader();
cmd.Dispose();
conn.Close();
conn.Dispose();
if (tablePws == null)
{
return -1;
}
else
{
string key = Encoding.Unicode.GetString(tablePws["password"] as byte[]);
if (md5pws == Decrypt(key))
{
int userId = 0;
int.TryParse(tablePws["Id"].ToString(), out userId);
return userId;
}
return -1;
}
}
逗号后边的变量用来替换'{}'。逗号后边第一个代替'{0}',第二个代替'{1}'……而这个语句中只有'{0}',userName 。就是LoginName=userName or handphone=userName or eMail=userName 。
public static int ValidateUserInfo(string userName, string userPwd)
这里面的为userName 赋值,就表示为查询语句中的userName赋值。
你的一个是个string.format()吧,username是去填充{0}的,如果 你有{1},那就需要usernaem,这里再写一个变量来填充{1}
那我要是写一个这样的SQL语句查询一个表里的信息怎么写?
查询姓名 性别 荣誉 头像地址
这里面的userName用于替换{0}
能加个企鹅聊么?有问题请教!
@水嫩小白菜: 很少用企鹅
这里面的userName用于替换{0}
这里的string.format()函数有2个参数,第一个参数就是格式化的格式字符串,这里就是那个一长串sql【"select password,Id from u_users where (LoginName='{0}' or handphone='{0}' or eMail='{0}')"】,然后这个字符串里出现的{},就会用第二个参数userName的值来替换。可以参照http://msdn.microsoft.com/en-us/library/system.string.format.aspx这个学习。