我用的是oracle数据库,用户名密码表如下。登陆界面如图,请问button中的代码该如何编写能实现登陆功能。我的代码写到了这里,拜托各位大神帮忙!
http://www.cnblogs.com/mq0036/p/3678149.html
登录用户的代码参考sql server的,只是连接数据库的代码不同,参考上面。
继续往下写
先写个函数
/// <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