.NET程序设计 实验七 ADO.NET管理数据库

课程名称 .NET程序设计 实验名称 实验七 ADO.NET管理数据库

一.实验目的:
1.掌握ASP.NET服务器验证控件的使用。
2.掌握ADO.NET对象的使用方法。
3.初步熟悉数据绑定控件GridView控件的使用方法。
二.实验内容:
本实验将通过创建一个的“C#学习网”,使同学们掌握ASP.NET服务器验证控件、ADO.NET对象的使用方法,并初步熟悉数据绑定控件GridView。该网站各页的效果图如图7-1、7-2、7-3、7-4、7-5、7-6、7-7、7-8所示。大体上的功能是:
(1)首次访问网站首页index.aspx页(图7-4)时,该页面判断是否“已登录”,若未登录,则自动跳转到login.aspx页(图7-1),若输入正确的用户名和密码,单击“登录”按钮,则跳转到index.aspx;若单击“注册”按钮,则跳转到Register.aspx(图7-2),若注册成功,就跳转到RegisterSuccess.aspx(图7-3)注册成功页面,单击该页上的“确定”按钮,就跳转到index.aspx页面。
(2)在index.aspx页面,单击“新闻管理”,跳转到news.aspx(图7-5)。在该页面单击“单击此处发布新闻”,跳转到发布新闻页面modifyNews.aspx(图7-6),输入完毕后,单击“确定”按钮,回到news.aspx页面;在该页面单击某条新闻记录的“编辑”按钮,跳转到修改页面modifyNews.aspx(图7-7),修改完毕后,单击“确定”按钮,回到news.aspx。
(3)在index.aspx页面,单击“新闻浏览”,跳转到allnews.aspx(图7-8)
在设计页面之前,首先根据效果图分析得到框架结构代码,并利用PhotoShop工具,剪切下需要的图片,并保存(本实验已提供了这些图片)。
在这里插入图片描述
图7-1 登录页面效果
在这里插入图片描述

图 7-2 注册页面效果
在这里插入图片描述

                          图7-3 登录成功页面效果

在这里插入图片描述

                            图7-4 网站首页效果

在这里插入图片描述

图7-5 新闻管理页面效果
在这里插入图片描述

图7-6 新闻发布页面效果
在这里插入图片描述

图 7-7 修改新闻页面效果
在这里插入图片描述

                         图7-8 新闻浏览页面效果

在这里插入图片描述

图7-9 新闻内容页面效果
1.创建数据库和数据库表
“C#学习网”中用到了两个表:userlogin表和news表。我们首先创建一个数据库,名为“C#StudyDB”,然后按照图7-10和7-11所示的表结构创建userlogin表和news表。

在这里插入图片描述

                          图7-10 userlogin表结构

在这里插入图片描述

图7-11 news表结构

2.创建登录页面
(1)启动Visual Studio 2008,新建一个名为学习网 动态网站的ASP.NET网站。并新建一个名为images的文件夹,通过添加现有项的方法将本实验提供的图片素材添加到网站的images文件中。(注:所有图片已放在本实验的附件中)
(2)在【解决资源管理器】窗格中右击选择【添加新项】命令或者选择【项目】|【添加新项】命令,打开【添加新项】对话框。选择“Web窗体“,并取名为“login.aspx”。按照图7-1所示的效果设计页面,将用于用户名输入的TextBox取名为“TextBoxUsername”,用于密码输入的TextBox取名为“TextBoxPassword”,“登录”按钮取名为“ButtonLogin”,“注册”按钮取名为“ButtonRegister”。
(3)编写“ButtonLogin”按钮的Click事件代码,如下:

protected void ButtonLogin_Click(object sender, EventArgs e)
{       string strName = TextBoxUsername.Text;
        string strPwd = TextBoxPassword.Text;
        string strConn ="Data Source=localhost;uid=sa;pwd=888888;DataBase=C#StudyDB";
        SqlConnection conn = new SqlConnection(strConn);
        string strSelect = "SELECT * FROM userlogin WHERE username =@username and userpwd =@password";
        SqlCommand command = new SqlCommand(strSelect,conn);
        command.Parameters.AddWithValue("@username",strName);
        command.Parameters.AddWithValue("@password",strPwd);
        conn.Open();
        SqlDataReader dr = command.ExecuteReader();
        if (dr.Read())
        {
            Session["userName"] = strName;
            Server.Transfer("index.aspx");
        }
        else
        {
            Session["userName"] = "";
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('登录失败,无此用户名或密码不正确!');</script>");
        }
        conn.Close();       
    }
(4)编写ButtonRegister按钮的Click事件代码如下:
  protected void ButtonRegister_Click(object sender, EventArgs e)
  {
        Server.Transfer("register.aspx");
  }

3.创建注册页面
(1)在【解决资源管理器】窗格中右击选择【添加新项】命令或者选择【项目】|【添加新项】命令,打开【添加新项】对话框。选择“Web窗体“,并取名为“Register.aspx”。按照图7-2所示的效果设计页面,将用于用户名输入的TextBox取名为“TextBoxName”,用于密码输入的TextBox取名为“TextBoxPwd”,用于确认密码的TextBox取名为“TextBoxRePwd”,用于输入性别的是一个RadioButtonList控件RadioButtonList1。
(2)使用必须字段验证控件确保TextBoxName、TextBoxPwd和TextBoxRePwd不能为空,使用正则表达式验证控件确保TextBoxName和TextBoxPwd为“3到10个字母、数字”,使用比较验证控件确保TextBoxPwd和TextBoxRePwd必须一致。其核心代码如下:

<table style="width:438px; line-height:30px; height: 214px; margin-left:10px;">
                <tr>
                    <td class="style1">
                        用户名:</td>
                    <td class="style2">
                        <asp:TextBox ID="TextBoxName" runat="server" Width="125px"></asp:TextBox>
                    </td>
                    <td>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                            ControlToValidate="TextBoxName" Display="Dynamic" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                            ControlToValidate="TextBoxName" Display="Dynamic" ErrorMessage="要求3到16个数字、字母、_、-" 
                            ValidationExpression="[a-zA-Z0-9_-]{3,16}">
1,主界面 2查询功能 ‘ private void chaxun_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); //表示到SQL Server的一个实例的连接 SqlCommand thisCommand=new SqlCommand("select * from student where sno='"+textBox1.Text+"'",thisConnection); SqlDataAdapter thisAdapter=new SqlDataAdapter(); thisAdapter.SelectCommand=thisCommand; DataSet thisDataSet=new DataSet(); thisConnection.Open(); thisAdapter.Fill(thisDataSet, "student"); //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); } 3浏览功能 private void liulan_Click(object sender, System.EventArgs e) { //用SqlConnection对象连接SQL Server数据库魏菊丽20086666 SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); //创建并返回一个与SqlConnection相关联的SqlCommand 对象 SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student";//获取或设置要对数据源执行的SQL语句 thisAdapter.SelectCommand =thisCommand ;//获取一个SQL语句,用于在数据源中选择记录 thisConnection.Open();//打开本次设置的数据库连接 thisAdapter.Fill(thisDataSet,"student");//将以上在数据源student中选择的记录的所有行填充到数据集中。 thisConnection.Close();//断开本次数据库连接 //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); } 4,插入一个新列 private void button1_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; thisConnection.Open(); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); thisAdapter.Fill(thisDataSet, "student"); DataRow thisRow=thisDataSet.Tables["student"].NewRow();//在 数据集的student Table中创建新行 thisRow["sno"]="21";thisRow["sname"]="李梦然";thisRow["ssex"]="男";thisRow["thirthday"]="1987-7-31";thisRow["class"]="95001";//设置新行中的个字段值 thisDataSet.Tables["student"].Rows.Add(thisRow);//将新行添加到数据集的student Table中 thisAdapter.Update(thisDataSet,"student");// 修改数据库表 //以下显示添加后表中的数据 thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值