利用ADO.NET类库结合后台数据库实现登录判断
2017-05-01 00:43
375 查看
在一个登录界面中,正确输入数据库中存的账户和密码会登录成功并跳转到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();//绑定数据源
}
新建一个学生数据表:
在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();//绑定数据源
}
相关文章推荐
- vb.net 利用ADO实现数据库的删除、插入、修改操作(adodb)
- ADO.NET的一个帮助类库,只须一个连接,一条SQL语句,轻松实现数据库的查旬,再加一个object 轻松实现数据库的增删改
- ADO.NET 使用Connection对象连接数据库实现用户登录
- asp.net 利用微软数据访问类库结合AjaxPro实现无刷新下拉框级联
- vb 利用ADO.Net实现数据库的连接,修改,删除,插入操作
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 利用已有数据库结合ASP.NET2.0权限管理机制实现权限分配(2)
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 转:在ASP.NET 中实现单点登录(利用Cache, 将用户信息保存在服务器缓存中)
- asp.net下利用JS实现对后台CS代码的调用方法
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 利用已有数据库结合ASP.NET2.0权限管理机制实现权限分配
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- VB.NET 中启动ADO.NET事务,实现对数据库操作的整体性。
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- ADO.NET结合XPath查询读取数据库