问题描述
如题:求登陆界面连接数据库办法!!我要弄个登陆界面,自己新建了个数据库,怎么样写代码让登陆界面验证数据库里的账号密码是否一致
解决方案
解决方案二:
你是不是指只有授权的用户才能连接数据库?还是只有授权的用户才能访问数据库?以下是个人意见,仅供参考。以SQLServer为例,因为不同的认证模式,有不同的处理方法:1.SQLServer用户认证模式下,读取登录界面输入的用户名和密码,然后生成SQLServer连接串,尝试SqlDataConnection.Open(),由SQLServer验证,然后捕获异常作为反馈。2.Windows用户认证模式下,在你的数据库中建一张用户权限表,表中存放用户名、密码及相应的权限。读取登录界面中的用户名和密码,然后查询权限表。用户名、密码和权限匹配的,进入系统;不能匹配的,给出提示。
解决方案三:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Login.aspx.cs"Inherits="Login"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title></title></head><body><formid="form1"runat="server"><div><asp:LabelID="Label1"runat="server"Text="用户名:"></asp:Label><asp:TextBoxID="tbUserName"runat="server"></asp:TextBox><br/><asp:LabelID="Label2"runat="server"Text="密码:"></asp:Label><asp:TextBoxID="tbPassword"runat="server"TextMode="Password"></asp:TextBox><br/><asp:ButtonID="btnLogin"runat="server"Text="登录"onclick="btnLogin_Click"/></div></form></body></html>usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data.SqlClient;usingSystem.Data;publicpartialclassLogin:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidbtnLogin_Click(objectsender,EventArgse){using(SqlConnectioncon=newSqlConnection("DataSource=.;UserID=sa;Password=sa;InitialCatalog=DB;")){con.Open();stringstrSQL="select*fromUsersInfowhereUserName=@unameandUserPwd=@pwd";SqlCommandcmd=newSqlCommand(strSQL,con);SqlParameterparam=newSqlParameter("@uname",SqlDbType.VarChar,20);param.Value=this.tbUserName.Text.Trim();SqlParameterparam2=newSqlParameter("@pwd",SqlDbType.VarChar,20);param2.Value=this.tbPassword.Text.Trim();cmd.Parameters.Add(param);cmd.Parameters.Add(param2);if(cmd.ExecuteNonQuery()>0){Response.Redirect("main.aspx");}else{ClientScript.RegisterClientScriptBlock(GetType(),"","<script>alert('用户名或密码错误!');</script>");Response.Redirect("Login.aspx");}}}}
解决方案四:
就是数据库操作
解决方案五:
用户界面中放入两个TextBox,分别接收用户输入的用户名和密码,再放一个Button,登录按钮。书写一个数据层类EntityService在其中写一个方法,根据LoginID查找EntitypublicclassEntityService{privatestringconnString="DataSource=.;InitialCatalog=MySchool;UserID=sa;PWD=123456";publicEntityGetEntityByLoginID(stringloginID){Entityentity=null;using(SqlConnectionconnection=newSqlConnection(connString)){stringsql=string.Format("select*fromentitywhereLoginID=@LoginID");using(SqlCommandobjCommand=newSqlCommand(sql,connection)){objCommand.Parameters.Add("@LoginID",loginID);connection.Open();using(SqlDataReaderobjReader=objCommand.ExecuteReader()){if(objReader.HasRows){if(objReader.Read()){entity=newEntity();entity.LoginID=objReader["LoginID"].ToString();entity.LoginPWD=objReader["LoginPWD"].ToString();}}}}}returnentity;}}
在业务逻辑层编写类EntityManager,在其中定义方法IsEntity,用数据访问层中的方法返回的值与用户输入的数据进行匹配publicclassEntityManager{EntityServiceentityservice=newEntityService();publicboolIsEntity(Entityentity){boolcondition=false;if(entityservice.GetEntityByLoginID(entity.LoginID)!=null){if(entityservice.GetEntityByLoginID(entity.LoginID).LoginPWD.Equals(entity.LoginPWD)){condition=true;}}returncondition;}}
在界面层接收用户的值,利用业务逻辑层类中的方法进行判断stringloginID=this.txtLoginID.Text.Trim();stringloginPWD=this.txtLoginPWD.Text.Trim();EntityManagerentitymanager=newEntityManager();Entityentity=newEntity(loginID,loginPWD);if(entitymanager.IsEntity(entity)){//成功}else{//失败}
解决方案六:
引用4楼remember_me的回复:
用户界面中放入两个TextBox,分别接收用户输入的用户名和密码,再放一个Button,登录按钮。书写一个数据层类EntityService在其中写一个方法,根据LoginID查找EntityC#codepublicclassEntityService{privatestringconnString="DataSource=.;Initial……
+1不错
解决方案七:
privatevoidbutton2_Click(objectsender,EventArgse){inputUserName=textBox1.Text.Trim();intpassword=textBox2.Text.Trim();/*if(inputUserName==""||intpassword==""){MessageBox.Show("用户名或密码不能为空,请重新输入正确的信息!");return;}*/stringpassword="";try{stringstrCon=ConfigurationManager.ConnectionStrings["dataconstr"].ConnectionString;using(SqlConnectioncon=newSqlConnection(strCon))//封闭使用连接对象{con.Open();//打开连接对象stringstrCom="Select用户名,密码from用户where用户名='"+inputUserName+"'";//查询用户名和密码SqlCommandcom=newSqlCommand(strCom,con);//创建查询命令对象SqlDataReaderdataReader=com.ExecuteReader();//创建数据行读取流对象//执行查询while(dataReader.Read()){password=dataReader.GetString(1);//读取密码字段的值,如果同一工号有多个记录,则读最后一个记录的密码}}}catch(Exception){MessageBox.Show("数据库连接出错,请检查!","操作提示");}if(password.Trim()==intpassword){this.Hide();Program.mdip.Show();textBox1.Text="";textBox2.Text="";}else{MessageBox.Show("帐号或密码错误,请重新输入!!!!");}}