PDA

View Full Version : ارور هنگام ورود به سایت



sam166
جمعه 14 آبان 1389, 08:41 صبح
با سلام و عرض خسته نباشید
من صفحه ورود به سایت رو طراحی کردم ولی زمانی که یوزر و پسورد را وارد میکنی
این ارور رو میده

String was not recognized as a valid Boolean.

کد صفحه هم به صورت زیر است

public partial class Login : System.Web.UI.Page
{
private string GetMemberRoleByID(string UID)
{
string connectionString1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Omid \Documents\Visual Studio 2010\WebSites\WebSite4\App_Data\omid.mdf;Integrate d Security=True;User Instance=True";
SqlConnection conObj = new SqlConnection(connectionString1);
string commandText = "select* from tbl_member where [UID]=@user";
SqlCommand cmdObj = new SqlCommand(commandText, conObj);
cmdObj.Parameters.AddWithValue("@user", UID);
conObj.Open();
SqlDataReader dr = cmdObj.ExecuteReader();
string RetVal = "NA";
if (dr.Read())
{
RetVal = dr["Roles"].ToString();
}
conObj.Close();
return RetVal;

}
private bool GetMemberAuthenticate(string UID, string PWD)
{
string connectionString1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Omid \Documents\Visual Studio 2010\WebSites\WebSite4\App_Data\omid.mdf;Integrate d Security=True;User Instance=True";
SqlConnection conObj = new SqlConnection(connectionString1);
string commandText = "select* from tbl_members where [UID]=@user and PWD=@pass";
SqlCommand cmdObj = new SqlCommand(commandText, conObj);
bool RetVal = false;
cmdObj.Parameters.AddWithValue("@user", UID);
cmdObj.Parameters.AddWithValue("@pass", PWD);
conObj.Open();
RetVal = Convert.ToBoolean(cmdObj.ExecuteScalar());
conObj.Close();
return RetVal;

}
protected void Button1_Click(object sender, EventArgs e)
{
if (GetMemberAuthenticate(TextBox1.Text ,TextBox2.Text))
{
string role = GetMemberRoleByID(TextBox1.Text);
FormsAuthenticationTicket AuthTicket = new FormsAuthenticationTicket(1, TextBox1.Text, DateTime.Now, DateTime.Now.AddHours(1), false, role);
string encryptedTicket = FormsAuthentication.Encrypt(AuthTicket);
HttpCookie AuthCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
Response.Cookies.Add(AuthCookie);

Response.Redirect(FormsAuthentication.GetRedirectU rl(TextBox1.Text, CheckBox1.Checked));
}
else
{
Label1.Text = "نام کاربری یا کلمه عبور نادرست می باشد";
Label1.Visible = true;
}

}

alonemm
جمعه 14 آبان 1389, 12:59 عصر
دوست من اين خطا به اين معناست كه شما داده از نوع بولين رو از متودتون return نميكنيد.


RetVal = Convert.ToBoolean(cmdObj.ExecuteScalar());

sam166
جمعه 14 آبان 1389, 13:16 عصر
به نظز شما چه کارش کنم

alonemm
جمعه 14 آبان 1389, 13:56 عصر
نوع داده رو به int تغيير بديد كه با 0 - 1 مشخص كنيد كه عمليات انجام شده و شرط و متن با لا رو هم بر اساس اون تغيير بديد.


private int GetMemberAuthenticate(string UID, string PWD)
{