weixin_39869456
weixin_39869456
采纳率25%
2017-08-22 02:21

如何用asp.net对oracle数据库实现登陆界面

我用的是oracle数据库,用户名密码表如下。登陆界面如图,请问button中的代码该如何编写能实现登陆功能。我的代码写到了这里,拜托各位大神帮忙!
图片说明图片说明图片说明图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • zinechina 红鲜森 1年前

    继续往下写
    先写个函数

      /// <summary>
            /// 执行SQL,并返回DataSet结果集
            /// </summary>
            /// <param name="commandText">SQL语句或存储过程名</param>
            /// <param name="isProcedure">第一个参数是否为存储过程名,true为是,false为否</param>
            /// <param name="paras">SqLParameter参数列表,0个或多个参数</param>
            /// <returns></returns>
    
            public  DataSet ExecuteDataSet(string commandText, bool isProcedure, params OracleParameter[] paras)
            {
                OracleConnection con =GetConnection(); //就是你写的那个获取数据库连接的那个函数
                OracleCommand cmd = new OracleCommand(commandText, con);
    
                if (isProcedure)
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                }
                else
                {
                    cmd.CommandType = CommandType.Text;
                }
    
                foreach (OracleParameter para in paras)
                {
                    cmd.Parameters.Add(para);
                }
    
                try
                {
                    con.Open();
                    OracleDataAdapter adapter = new OracleDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    adapter.Fill(ds);
                    return ds;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                finally
                {
                    con.Close();
                }
            }
    

    然后button_click事件里面:

    var username=用户名输入框id.Text.Trim();
    var pwd=密码输入框id.Text.Trim();
    if(……)//这里自己判断用户名是否为空,密码是否为空等条件
    {
              Response.Redirect("Error.html?msg=错误信息");//这里跳转到错误提示页
                return;
    }
    
    
    string sql="select * from Users where Username=:Username and Userpassword=:PWD";  //需要执行的sql语句,用户名密码正确返回用户信息,否则返回空表(行数为0)
    OracleParameter[] paras={
                                                                                        new OracleParameter("Username",username),
                                                                                        new OracleParameter("PWD",pwd)
                                              };
    var ds=ExecuteDataSet(sql,false,pars);//执行sql并返回dataset
    
    if(ds==null || ds.Tables.Count==0 || ds.Tables[0].Rows[0].Count!=1)
    {
            Response.Redirect("Error.html?msg=用户名或密码错误");//这里跳转到错误提示页
                return;
    }
    Session["LoginUserName"]=ds.Tables[0].Rows[0][0].ToString();//在session里面记录当前登录成功的用户名
    
    Response.Redirect("index.html");//登录成功跳转到首页
    
    

    需要登陆后才能访问的页面判断是否成功登录
    在页面加载完成事件里面写:

    var sessionObj=Session["LoginUserName"];
    if(sessionObj==null)
    {
            //没有登录跳转回登录页面
            Response.Redirect("/Login.aspx");
            return;
    }
    
    ……其他你要执行的代码
    

    建议你在系统里面丢一个数据库访问的工具类,直接调用即可,网上有很多写好的
    比如:
    https://blog.csdn.net/weixin_41049188/article/details/100499752

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前

    http://www.cnblogs.com/mq0036/p/3678149.html
    登录用户的代码参考sql server的,只是连接数据库的代码不同,参考上面。

    点赞 评论 复制链接分享