使用VS2013与内置数据库进行连接

一、页面的布置

1、首先需要将页面做好(本例的工程名为demo,框架用的是.NET Framework 4.5)。示例页面代码如下:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="demo.Default" %>

<!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">
        欢迎来到校园活动预约系统
    <table>
        <tr><td>用户名:</td><td><asp:TextBox ID="username" runat="server"></asp:TextBox></td></tr>
        <tr><td>密码:</td><td><asp:TextBox ID="userpwd" runat="server" TextMode="Password"></asp:TextBox></td></tr>
        <tr><td>身份:</td><td><asp:DropDownList ID="DropDownListLevel" runat="server"></asp:DropDownList></td></tr>
        <tr><td colspan="2"><asp:Button ID="ButtonOK" runat="server" Text="登 录" OnClick="ButtonOK_Click" /></td></tr>
        <tr><td colspan="2"><asp:Label ID="LabelLoginInf" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label></td></tr>
    </table>
    </form>
</body>
</html>

 

2、本例是登录测试,首先查询数据库用户名、密码、用户类型是否一一对应。如果对应,提示登录成功,并转入相应页面;如果不对应,则提示用户名或密码错误,请重新输入。

 

二、引用数据库类代码

1、这里选用BaseClass.cs文件作为数据库操作类,也可选用网上常用的SQLHelper类文件。将文件放入App_Code文件夹中,没有的话新建一个。示例代码如下所示:

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

/// <summary>
///BaseClass 的摘要说明
/// </summary>
namespace GROUP.Manage
{
    public class BaseClass:System.Web.UI.Page
    {
        String strConn;
        //构造函数
        public BaseClass()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
            strConn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        }
        //从数据库中读取数据,返回DataTable对象
        public DataTable ReadTable(String strSql)
        {
            DataTable dt = new DataTable();
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();
            SqlDataAdapter Cmd = new SqlDataAdapter(strSql, Conn);
            Cmd.Fill(dt);
            Conn.Close();
            return dt;
        }
        //从数据库中读取数据,返回DataSet对象
        public DataSet ReadDataSet(String strSql)
        {
            DataSet ds = new DataSet();
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();
            SqlDataAdapter Cmd = new SqlDataAdapter(strSql, Conn);
            Cmd.Fill(ds);
            Conn.Close();
            return ds;
        }
        //从数据库中读取数据,返回DataSet对象(需要表名)
        public DataSet GetDataSet(String strSql,String tableName)
        {
            DataSet ds = new DataSet();
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();
            SqlDataAdapter Cmd = new SqlDataAdapter(strSql, Conn);
            Cmd.Fill(ds,tableName);
            Conn.Close();
            return ds;
        }
        //执行SQL查询,并返回一个Reader对象
        public SqlDataReader readrow(String sql)
        {
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();
            SqlCommand Comm = new SqlCommand(sql, Conn);
            SqlDataReader Reader = Comm.ExecuteReader();
            if (Reader.Read())
            {
                Comm.Dispose();
                return Reader;
            }
            else
            {
                Comm.Dispose();
                return null;
            }
        }
        //返回查询结果第一行某一个字段的值
        public string ReadStr(String strSql, int flag)
        {
            DataSet ds = new DataSet();
            String str;
            SqlConnection Conn = new SqlConnection(strConn);
            Conn.Open();
            SqlDataAdapter Cmd = new SqlDataAdapter(strSql, Conn);
            Cmd.Fill(ds);
            str = ds.Tables[0].Rows[0].ItemArray[flag].ToString();
            Conn.Close();
            return str;
        }
        //执行SQL更新语句
        public void execsql(String strSql)
        {
            SqlConnection Conn = new SqlConnection(strConn);
            SqlCommand Comm = new SqlCommand(strSql,Conn);
            Conn.Open();
            Comm.ExecuteNonQuery();
            Conn.Close();
        }
    }
}

 

2、主要使用的方法有两个,一个是ReadTable方法(此方法是从数据库中读取相应的查询语句组成的表,即查询操作),另一个是execsql方法(此方法用于插入、更新、删除语句)。

 

三、设计数据库

(1)首先从视图菜单中打开SQL Server对象资源管理器。

(2)单击SQL Server,将下面的数据库打开,在“数据库”项下新建一个数据库作为本例使用的数据库。

(3)新建一个表,作为本例使用的表。数据库输入之后,在下面更改表名,然后点更新,对数据库进行保存操作。如下图所示:

(4)更新好后,数据库表中就会多出刚才的表。

(5)增加数据。右击刚才新建的表,选择查看数据。此处增加的是用户名为admin,密码为123456。如下所示

 

四、数据库连接

在解决方案资源管理器中打开Web.config配置文件。插入以下代码

<connectionStrings>

    <add name="ConnectionString" connectionString="...此处内容选取新建好的数据库的属性的连接字符串..."/>

</connectionStrings>

连接字符串查找(右击数据库,选属性,从右侧的属性列表里找连接字符串):

 

五、在页面的cs文件中调用数据库操作代码

(1)首先修改引用操作类代码文件。将引用的操作代码cs文件属性的内容改为编译。然后对本例解决方案进行生成操作。

(2)在页面的cs文件中使用using引用数据库操作类的命名空间。

            (例如此处是using GROUP.Manage;)

(3)书写代码,调用数据库,获取数据。(示例代码如下)

BaseClass BaseClass1 = new BaseClass();
        protected void Page_Load(object sender, EventArgs e)
        {
            GetDPListValue();
        }
        protected void GetDPListValue()
        {
            DataSet ds = new DataSet();
            ds.Tables.Add("DPList");
            ds.Tables["DPList"].Columns.Add("UserLevelNum", typeof(int));
            ds.Tables["DPList"].Columns.Add("UserLevelText", typeof(string));
            ds.Tables["DPList"].Rows.Add(new object[] { 1, "管理员" });
            ds.Tables["DPList"].Rows.Add(new object[] { 2, "组织者" });
            ds.Tables["DPList"].Rows.Add(new object[] { 3, "参与者" });
            DropDownListLevel.DataSource = ds.Tables["DPList"];
            DropDownListLevel.DataValueField = "UserLevelNum";
            DropDownListLevel.DataTextField = "UserLevelText";
            DropDownListLevel.DataBind();
        }

        protected void ButtonOK_Click(object sender, EventArgs e)
        {
            string status = DropDownListLevel.SelectedValue.ToString().Trim();  //获取下拉列表的值
            string strsql;
            strsql = "select * from [AMUser] where UserName='" + username.Text + "' and UserPassword='" + userpwd.Text + "' and UserLevel='" + status + "'  and IsDeleted='0'";
            DataSet ds = new DataSet();
            ds = BaseClass1.GetDataSet(strsql, "amuser");
            if (ds.Tables["amuser"].Rows.Count == 0)
            {
                LabelLoginInf.Text = "输入的用户名或密码错误!";
            }
            else
            {
                Session["UserName"] = username.Text.ToString();
                Session["UserID"] = "";
                String level = DropDownListLevel.SelectedValue.ToString().Trim();
                //下面可以根据不同的需要(根据用户等级)进入相应的页面
                LabelLoginInf.Text = "登录成功!";
                Response.Write("<script>alert('登录成功!即将进入系统……');window.location.href='#';</script>");
            }
        }

 

六、完成并进行网页测试

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值