두 개의 텍스트 상자에 사용자 이름과 암호에 값을 입력합니다. 내가 제출을 클릭하면, 나는 테이블 어댑터가 그 정말 값이 있는지 확인하고 사용자가 로그인 할 수 있도록 데이터베이스를 확인 할Visual Studio가있는 테이블 어댑터 최종 코드
이 내 코드입니다. 캐치 부분에
protected void Submit_Click(object sender, EventArgs e)
{
//assign text from the textboxes to variables
string userName = TextBox1.Text;
string passWord = TextBox2.Text;
lblError.Visible = true;
try
{
string passwordValue = Encrypt(passWord);
DataSet1.tblUserDataTable dataTable = proccessedProcess.Login(userName, passwordValue);
if (dataTable != null & dataTable.Count!=0)
{
DataSet1.tblUserRow dataRow = dataTable[0];
if (dataRow.nUserID.ToString() == "00000000-0000-0000-0000-000000000000")
{
lblError.Text = "";
}
else if(dataRow.nUserID.ToString() != "00000000-0000-0000-0000-000000000000")
{
Session["CurrentUserID"] = dataRow.nUserID.ToString();
Session["LoggedIn"] = "YES";
Session["LastLogin"] = DateTime.Now.ToString();
Session["UserName"] = dataRow.txtUserName;
HttpContext.Current.Response.Redirect("MainCustomer.aspx");
}
} else {
lblError.Text = "Incorrect UserID or Password";
}
}
catch (Exception E)
{
E.Message.ToString();
lblError.Text = E.Message;
}
}
왜 dataTable [2]를 수행하고 있습니까? 그것은 dataTable [0] – Esen
이되어야 dataTable [0]으로 변경하고 실행했지만 아무 것도하지 않았지만 레이블에 텍스트 "error"가 표시되었습니다. 왜 이렇게됩니까? – user1179083
if 조건이 잘못 되었기 때문입니다. datarow.nuserid.tostring()! = "00000000-0000-0000-0000-000000000000"입니다. 대신 datarow.nuserid.tostring() == "00000000-0000-0000-0000-000000000000"을 수행해야합니다. 평등과 동등해야합니다. – Esen