首页 新闻 会员 周边 捐助

visual studio 2013写的用户登陆代码有问题

1
悬赏园豆:50 [已解决问题] 解决于 2015-03-31 18:11
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Text;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{   
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void login_Click(object sender, EventArgs e)
    {
        string staid, password, sql_str;
        staid = Request.Form.Get("sta_id");
        password = Request.Form.Get("password");
        sql_str = "select top 1 * from tb_staff where sta_id = '" + staid + "' and password ='" + password + "'";
        SqlConnection tcon = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
        tcon.Open();
        SqlCommand tcmd = new SqlCommand(sql_str, tcon);
        SqlDataReader tdr = tcmd.ExecuteReader();
        if (tdr.Read())
        {
            Page.Response.Redirect("report.aspx");
        }
        else
        {
            Response.Write("密码或者帐号错误");
        }
        tdr.Close();
        tcon.Close();    

     }
    
}

界面输入编号密码 点登陆后直接跳到 密码或者账号错误,请高手解答一下万分感谢!新手

问题补充:
protected void login_Click(object sender, EventArgs e)
    {
        SqlConnection tcon = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
        tcon.Open();
        string sql = "select top 1 * from tb_staff where [sta_id]='" + staid.Text + "' and password='" + spassword.Text + "'";
        DataTable dt = new DataTable();
        SqlDataAdapter da = new SqlDataAdapter(sql, tcon);
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            Session["sta_id"] = staid.Text;
            Response.Redirect("report.aspx");
        }
        else
        {
            Response.Write("登陆账号或密码错误!!");
        } 

     }

自己已经解决 用 DataTable 获取数据

请求大师帮助,谢谢!

啃着大葱杀鬼子的主页 啃着大葱杀鬼子 | 初学一级 | 园豆:13
提问于:2015-03-30 23:14
< >
分享
最佳答案
0

看你的代码使用的是拼接字符串,这样的话会被注入的,最好使用参数化。你可以看一下你拼接的字符串拿到数据库里是否会读出数据

收获园豆:50
羽商宫 | 老鸟四级 |园豆:2490 | 2015-03-31 12:19
其他回答(2)
0

最好的办法就是在if那个地方,调试一下。

幻天芒 | 园豆:37205 (高人七级) | 2015-03-31 10:41
0

谢谢你们自己已经解决

啃着大葱杀鬼子 | 园豆:13 (初学一级) | 2015-03-31 18:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册