利用ADO.NET类库结合后台数据库实现登录判断
来源:互联网 发布:485通讯端口电压多少 编辑:程序博客网 时间:2024/06/06 20:37
在一个登录界面中,正确输入数据库中存的账户和密码会登录成功并跳转到view.aspx显示数据表中的信息,否则弹出“账号或密码错误”
新建一个学生数据表:
在App_Data里新建一个数据库文件:student.mdf,然后新建一个名为student的表
登录界面:index.aspx
在“设计”中加入sqlDataSource绑定数据源(刚刚新建的student表),并生成连接字符串信息(在Web.config中),这里命名连接student表的字符串为YConnectionString(如下字符串为绑定数据源后系统生成)
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplicationxMVC-20170428053750.mdf;Initial Catalog=aspnet-WebApplicationxMVC-20170428053750;Integrated Security=True" providerName="System.Data.SqlClient" /> <add name="YConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\student.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
index.aspx前台登录控件代码:
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style type="text/css"> .auto-style1 { width: 23%; } .auto-style2 { text-align: center; } </style></head><body> <form id="form1" runat="server"> <div> <table class="auto-style1"> <tr> <td class="auto-style2" colspan="2"><strong>学生登录界面</strong></td> </tr> <tr> <td>用户名:</td> <td> <asp:TextBox ID="txtname" runat="server"></asp:TextBox> </td> </tr> <tr> <td>密码:</td> <td> <asp:TextBox ID="txtpwd" runat="server"></asp:TextBox> </td> </tr> <tr> <td class="auto-style2" colspan="2"> <asp:Button ID="Button1" runat="server" Text="登录" onclick="Button1_Click"/> <asp:Button ID="Button2" runat="server" Text="重置" onclick="Button2_Click"/> </td> </tr> </table> <br /> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues" ConnectionString="<%$ ConnectionStrings:YConnectionString %>" DeleteCommand="DELETE FROM [student] WHERE [Id] = @original_Id AND (([sname] = @original_sname) OR ([sname] IS NULL AND @original_sname IS NULL)) AND (([spwd] = @original_spwd) OR ([spwd] IS NULL AND @original_spwd IS NULL)) AND (([sex] = @original_sex) OR ([sex] IS NULL AND @original_sex IS NULL)) AND (([semail] = @original_semail) OR ([semail] IS NULL AND @original_semail IS NULL))" InsertCommand="INSERT INTO [student] ([Id], [sname], [spwd], [sex], [semail]) VALUES (@Id, @sname, @spwd, @sex, @semail)" OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [student]" UpdateCommand="UPDATE [student] SET [sname] = @sname, [spwd] = @spwd, [sex] = @sex, [semail] = @semail WHERE [Id] = @original_Id AND (([sname] = @original_sname) OR ([sname] IS NULL AND @original_sname IS NULL)) AND (([spwd] = @original_spwd) OR ([spwd] IS NULL AND @original_spwd IS NULL)) AND (([sex] = @original_sex) OR ([sex] IS NULL AND @original_sex IS NULL)) AND (([semail] = @original_semail) OR ([semail] IS NULL AND @original_semail IS NULL))"> <DeleteParameters> <asp:Parameter Name="original_Id" Type="Int32" /> <asp:Parameter Name="original_sname" Type="String" /> <asp:Parameter Name="original_spwd" Type="String" /> <asp:Parameter Name="original_sex" Type="String" /> <asp:Parameter Name="original_semail" Type="String" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Id" Type="Int32" /> <asp:Parameter Name="sname" Type="String" /> <asp:Parameter Name="spwd" Type="String" /> <asp:Parameter Name="sex" Type="String" /> <asp:Parameter Name="semail" Type="String" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="sname" Type="String" /> <asp:Parameter Name="spwd" Type="String" /> <asp:Parameter Name="sex" Type="String" /> <asp:Parameter Name="semail" Type="String" /> <asp:Parameter Name="original_Id" Type="Int32" /> <asp:Parameter Name="original_sname" Type="String" /> <asp:Parameter Name="original_spwd" Type="String" /> <asp:Parameter Name="original_sex" Type="String" /> <asp:Parameter Name="original_semail" Type="String" /> </UpdateParameters> </asp:SqlDataSource> </div> </form></body></html>
index.aspx后台登录button和重置button触发代码:
protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string name = txtname.Text.Trim(); string pwd = txtpwd.Text.Trim(); if(name=="") { ClientScript.RegisterStartupScript(this.GetType(),"用户名为空","<script>alert('用户名不能为空')</script>"); //触发客户端脚本警告 return ; } if(pwd=="") { ClientScript.RegisterStartupScript(this.GetType(), "密码为空", "<script>alert('密码不能为空')</script>"); return; } string strcon = ConfigurationManager.ConnectionStrings["YConnectionString"].ToString(); SqlConnection connection = new SqlConnection(strcon);//创建连接对象 string sql = string.Format("select count(*) from student where sname='{0}' and spwd='{1}'",name,pwd);//利用Format填充方式生成sql语句 SqlCommand command = new SqlCommand(sql, connection);//创建命令对象 connection.Open();//打开数据库连接 int count = (int)command.ExecuteScalar();//查询,返回聚合函数(count)执行的结果 connection.Close(); if(count>0) { Response.Redirect("view.aspx");//成功登陆,跳转到view.aspx } else { ClientScript.RegisterStartupScript(this.GetType(), "无此用户", "<script>alert('用户名或密码错误')</script>"); txtname.Text = ""; txtpwd.Text = ""; } } protected void Button2_Click(object sender, EventArgs e) { txtname.Text = ""; txtpwd.Text = ""; }
登录成功界面:view.aspx
使用GridView显示学生信息
前台控件代码:
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> </form></body></html>
后台代码:
protected void Page_Load(object sender, EventArgs e) { string strcon = ConfigurationManager.ConnectionStrings["YConnectionString"].ToString(); SqlConnection connection = new SqlConnection(strcon); string sql = "select * from student";//查询学生全部信息 SqlDataAdapter adapter = new SqlDataAdapter(sql,connection);//适配器对象,数据表和DataSet数据集对象传输的接口 DataSet dataset = new DataSet();//创建数据集对象 adapter.Fill(dataset,"student");//数据表student填充到dataset数据集中 GridView1.DataSource = dataset.Tables[0];//设置GridView1(ID号)数据源为数据集dataset中的第一个表 GridView1.DataBind();//绑定数据源 }
0 0
- 利用ADO.NET类库结合后台数据库实现登录判断
- asp.net 利用微软数据访问类库结合AjaxPro实现无刷新下拉框级联
- 利用$ajax实现远程登录判断
- ADO.NET登录
- 正确利用 ADO.NET
- 正确利用 ADO.NET
- ADO.NET 使用Connection对象连接数据库实现用户登录
- ADO.NET实现CRUD
- 利用Cookies实现ASP.NET跨域单点登录
- 利用Cookies实现ASP.NET跨域单点登录
- 利用简易Tomcat服务器结合MysqL实现Android手机注册与登录(客户端部分)
- 利用简易Tomcat服务器结合MysqL实现Android手机注册与登录(服务器部分)
- 黑马程序员 C#学习笔记③ ADO.NET实现登录案例
- ado.net用存储过程设计登录
- 限制次数登录(ADO.Net)
- ADO.NET的登录验证交互2
- php 后台数据库与前台请求结合
- 利用TreeView的TAG属性实现ADO.NET下的多表查询
- JavaScript语言基础---(七)全局变量和局部变量
- sze品牌怎样识别
- 程序员保值的4个秘密
- 排序法之选择排序法
- 栈操作
- 利用ADO.NET类库结合后台数据库实现登录判断
- 树莓派3 ROS语音包开发之音频采集
- linux安装oracle client客户端连接远程数据库
- sze品牌大事记
- jQuery $.data()方法使用注意细节
- 程序员的神秘等式,你造几个?
- Sze带你探秘法国手工皮鞋之旅完美落幕
- java程序中的进制(负数的二进制)
- Installing ROS Kinetic on the Raspberry Pi