我是用guid做用户名登陆
UsersInfo user = usersbll.GetUsersByUserID(Convert.ToString(txtUser.Text));DAL里面
public UsersInfo GetUsersByUserID(string userID)
{
SqlParameter paramUserID = new SqlParameter(PARAM_USERID, SqlDbType.UniqueIdentifier);
paramUserID.Value = userID;
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.LSESConnectionString, CommandType.StoredProcedure, SP_SELECT_USERS_BY_ID, paramUserID);
UsersInfo user = new UsersInfo();
if (dr.Read())
{
user.UserID = dr["guid"].ToString();
}
return user; }结果sqlhelper报错
将参数值从 String 转换到 Guid 失败。
UsersInfo user = usersbll.GetUsersByUserID(Convert.ToString(txtUser.Text));DAL里面
public UsersInfo GetUsersByUserID(string userID)
{
SqlParameter paramUserID = new SqlParameter(PARAM_USERID, SqlDbType.UniqueIdentifier);
paramUserID.Value = userID;
SqlDataReader dr = SQLHelper.ExecuteReader(SQLHelper.LSESConnectionString, CommandType.StoredProcedure, SP_SELECT_USERS_BY_ID, paramUserID);
UsersInfo user = new UsersInfo();
if (dr.Read())
{
user.UserID = dr["guid"].ToString();
}
return user; }结果sqlhelper报错
将参数值从 String 转换到 Guid 失败。
那个应该是只读的吧。
UsersInfo user = usersbll.GetUsersByUserID(txtUser.Text);
这两种是一样的,
如果你的txtUser是GUID类型的,肯定是可以的,你这个控件上的数值肯定不是GUID的
已说明问题了.
另外,guid.tostring有重载方法,确保一致