您的位置:首页 > 数据库

利用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();//绑定数据源
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐