【发布时间】:2018-12-15 20:07:01
【问题描述】:
public class UserDA
{
private static string _connStr = ConfigurationManager.ConnectionStrings["airmazin"].ConnectionString;
//update,delete,insert,getuser
public static void UserInsert(User user)
{
string queryStr = "INSERT INTO Account (username, gender, email, password) values (@username, @gender, @email, @password);";
SqlConnection conn = new SqlConnection(_connStr);
SqlCommand cmd = new SqlCommand(queryStr, conn);
cmd.Parameters.AddWithValue("@username", user.userName);
cmd.Parameters.AddWithValue("@gender", user.gender);
cmd.Parameters.AddWithValue("@email", user.email);
cmd.Parameters.AddWithValue("@password", user.password);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btn_Submit_Click(object sender, EventArgs e)
{
string userName = tb_userName.Text;
string gender = rbl_gender.SelectedValue.ToString();
string email = tb_email.Text;
string password = tb_password.Text;
User user = new User(userName, gender, email, password);
UserDA.UserInsert(user);
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn_Login_Click(object sender, EventArgs e)
{
//if (txt_userEmail == null) { }
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["airmazin"].ToString());
con.Open();
string query = "select count from Account where email='" + txt_userEmail.Text+ "' and password='" + txt_userPass.Text +"'" ;
SqlCommand cmd = new SqlCommand(query, con);
string output = cmd.ExecuteScalar().ToString();
con.Close();
if (output == "1")
{
// Create a session
Session["Account"] = txt_userEmail.Text;
Response.Redirect("User_Profile.aspx");
}
else
{
Response.Write("<script>alert('Login NOT successful');</script>");
}
}
protected void btn_loginSignup_Click(object sender, EventArgs e)
{
Response.Redirect("SignUp.aspx");
}
}
我已将数据插入数据库,如何将其存储到会话中并在我的个人资料页面上显示当前用户信息(例如:用户名、电子邮件、性别等)。
【问题讨论】:
-
不要做
select count,因为它会给你记录的数量。获取您需要的实际信息,然后将其存储在会话中。 -
我使用了 select count * 。我正在获取信息,因为我登录了这就是为什么我必须使用数据库检查用户名和密码@CodingYoshi
-
使用管理工作室或其他工具运行查询
select count *,看看你得到了什么。select count *不起作用,因为它有语法错误。select count(*)可以工作,但会返回一个数字。您需要获取用户名、电子邮件、姓名等(无论您需要什么),因此请使用select username, email...