ADO.NET 试卷
《ADO.NET 程序设计》期终试卷
班级:      姓名:       学号:      成绩:     
一、创建数据库 数据库名称是jsjyy09355
  创建表,表名是你的stu_学号例如:stu_2009010219
  表结构:
| ID int 自增1 ,主键 szjm _name 用户名 可变字符串 长度:50 szjm _ykt   一卡通号码    可变字符串 长度:30   szjm _PassWord 密码 可变字符串 长度:30   szjm _Class 班级可变字符串 长度:50 | 
(1)   请写出建表的T-SQL语句, 
| CREATE TABLE [stu_0907013401] (     [ID] [int] IDENTITY (1, 1) NOT NULL ,     [Szjm _name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,     [Szjm _PassWord] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,     [Szjm _Class] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,    [szjm _ykt] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,     CONSTRAINT [PK_0907013401] PRIMARY KEY  CLUSTERED      (              [ID]     )  ON [PRIMARY]  ) ON [PRIMARY] GO | 
(2)   创建根据一卡通号码和密码查询用户ID,采用存储过程实现,存储过程名称是SP_你的学号(例如SP+2009010219),请写出存储过程SQL。
| CREATE   procedure users_delu   @useradmin nvarchar(20),   @userpassword nvarchar(40) as select ID from [stu_0907013401] where [Szjm _name =@useradmin and [User_PassWord]=@userpassword  | 
(3)   增加你的一卡通号码到你创建的表里面,密码统一设置为’
| insert  into stu_0907013401(Szjm _name,User_PassWord,User_Class) values ('0907013401','1234567890','计应34') | 
(4)   修改你的一卡通号到你创建的表里面,密码统一修改为’
| update stu_0907013401 set User_PassWord='054321' where Szjm _name='0907013401' | 
(5)   增加你的一卡通号到你创建的表里面,删除你插入的记录,请写出T-SQL语句,根据一卡通号码删除。
| delete from stu_0907013401 where Szjm _name='0907013401' | 
二、创建登陆界面,实现用户名和密码的验证。
请写出登录部分代码,调用前面创建的存储过程。
(用户名TextBox控件 ID :txt_username,密码TextBox控件 ID: txt_password,确定按钮ID button1,退出按钮ID是button2)
请写出登录部分代码:
| private void button1_Click(object sender, EventArgs e) { try             {                 string connection = "database=jsjyy09354;server=.;uid=sa;pwd=sa;";                 SqlConnection con = new SqlConnection(connection);                 con.Open();                 SqlParameter[] para = new SqlParameter[2];                 para[0] = new SqlParameter("@useradmin", SqlDbType.NVarChar, 20);                 para[0].Value = txt_username.Text.Trim();                 para[1] = new SqlParameter("@userpassword", SqlDbType.NVarChar, 40);                 para[1].Value = txt_password.Text.Trim();                 SqlCommand comm = new SqlCommand();                 comm.Connection = con;                 comm.CommandType = CommandType.StoredProcedure;                 comm.CommandText = "SP_学号 ";                 comm.Parameters.Add(para[0]);                 comm.Parameters.Add(para[1]);                 SqlDataAdapter sda = new SqlDataAdapter(comm);                 DataSet ds = new DataSet();                 sda.Fill(ds);                 con.Close();                 if (ds.Tables[0].Rows.Count > 0)                 {                     MessageBox.Show("成功!");                 }                 else                 {                     MessageBox.Show("失败!");                 }             }             catch (Exception ee)             {                 MessageBox.Show(ee.Message);             } } | 
请写出退出部分(退出应用程序)代码:
| private void button2_Click(object sender, EventArgs e) { Application.Exit(); } | 
三、通过代码实现新增记录到数据表。
(一卡通TextBox控件 ID :txt_ykt,姓名 TextBox控件 ID: txt_username,班级姓名 TextBox控件 ID: txt_class;保存按钮ID button1,返回按钮ID是button2)
请写出【保存按钮ID button1】实现新增学生信息到数据表
| private void button1_Click(object sender, EventArgs e) { string ykt = txt_ykt.Text.Trim(); string pwd = txt_username.Text.Trim(); string szjm _Class = txt_class.Text.Trim(); string connection = "database=jsjyy09354;server=.;uid=sa;pwd=sa;"; SqlConnection con = new SqlConnection(connection); con.Open(); string sql = "insert into stu_0907013401(szjm _ykt,szjm _name,Szjm _Class) values('" + ykt  + "','" + pwd + "','" + szjm _Class + "')"; SqlCommand comm = new SqlCommand(sql, con); comm.ExecuteNonQuery(); con.Close(); MessageBox.Show("ok"); } | 
四 通过以下界面查询你的信息,注意查询是按照用户模糊查询进行,并绑定到DataGridView1里面显示。如图所示
(姓名TextBox控件 ID :txt_username,查询按钮ID button1,DataGridView1显示查询到的学生信息)。
| private void button1_Click(object sender, EventArgs e) { string name = txt_username.Text.Trim(); string connection = "database=jsjyy09354;server=.;uid=sa;pwd=sa;"; SqlConnection con = new SqlConnection(connection); con.Open(); string sql = "select * from stu_0907013401 where szjm _name like '%" + name + "%'"; SqlCommand comm = new SqlCommand(sql, con); DataSet ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(comm); sda.Fill(ds); con.Close(); dataGridView1.DataSource = ds.Tables[0].DefaultView; } | 
五、通过以下界面删除你的信息,按照一卡通号码,姓名,班级精确删除。如图所示
(一卡通号码TextBox控件 ID :txt_ykt,姓名 TextBox控件 ID: txt_username,班级姓名 TextBox控件 ID: txt_class;删除按钮ID button1,返回按钮ID是button2)
| private void button1_Click(object sender, EventArgs e) { string ykt = txt_ykt.Text.Trim(); string pwd = txt_username.Text.Trim(); string szjm _Class = txt_class.Text.Trim(); string connection = "database=jsjyy09354;server=.;uid=sa;pwd=sa;"; SqlConnection con = new SqlConnection(connection); con.Open(); string sql = "delete from stu_0907013401 where szjm _ykt='" +ykt + "' and szjm _name='" + pwd + "' and Szjm _Class='" + szjm _Class + "'"; SqlCommand comm = new SqlCommand(sql, con); comm.ExecuteNonQuery(); con.Close(); MessageBox.Show("ok"); } | 
六、按照一卡通号码和姓名,修改班级为你现在的班级。如图所示
(一卡通号码TextBox控件 ID :txt_ykt,姓名 TextBox控件 ID: txt_username,班级姓名 TextBox控件 ID: txt_class;修改按钮ID button1,返回按钮ID是button2)
| private void button1_Click(object sender, EventArgs e) { string ykt = txt_ykt.Text.Trim(); string pwd = txt_username.Text.Trim(); string szjm _Class = txt_class.Text.Trim(); string connection = "database=jsjyy09354;server=.;uid=sa;pwd=sa;"; SqlConnection con = new SqlConnection(connection); con.Open(); string sql = "update stu_0907013401 set Szjm _Class='" +                szjm _Class + "' where szjm _ykt='" +                ykt + "' and szjm _name='" + pwd + "'"; SqlCommand comm = new SqlCommand(sql, con); comm.ExecuteNonQuery(); con.Close(); MessageBox.Show("ok"); } | 
七、创建一个WEB网站,按照登录页面,写出HTML代码。如图所示
HTML代码:
| <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>登录界面</title> </head> <body>     <form id="form1" runat="server">     <div>     <table >     <tr>     <td>         <asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>         <asp:TextBox ID="TextBox1" runat="se           rver"></asp:TextBox>     </td>     </tr>     <tr>     <td>             <asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>         <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>         </td>         </tr>     <tr>     <td align ="center">     <asp:Button ID="Button1" runat="server" Text="登录" />     <asp:Button ID="Button2" runat="server" Text="退出" />     </td>     </tr>         </table>     </div>     </form> </body> </html> | 
八、手机开发,根据学生一卡通号码精确查询到学生信息,采用SQLCE数据库,数据表结构如下面描述。
(一卡通号码TextBox控件 ID :txt_ykt ,查询按钮ID button1,把查询到的信息绑定到dataGrid1里面显示)
| private void button1_Click(object sender, EventArgs e) { string str_sql = " select * from tb1         "; if (txt_ykt<>""){    str_sql=" where ykt=’"+ "’ ";} string str_conn = ("Data Source =" + (System.IO.Path.GetDirectoryName                        (System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Stu1.sdf;")); SqlCeConnection conn = new SqlCeConnection(str_conn); conn.Open(); SqlCeCommand comm = new SqlCeCommand(str_sql, conn); DataSet ds = new DataSet(); SqlCeDataAdapter sqldata = new SqlCeDataAdapter(comm); sqldata.Fill(ds); conn.Close(); dataGrid1.DataSource = ds.Tables[0].DefaultView; } | 
九、论述SqlConnection ,SqlAommand,SqlAdapter,DataSet 在ADO.NET 编程中的作用和关系。
| strCnn 是连接SQL 2005的数据库连接字符串,可以直接设定,也可以通过设置配置文件来设置。 SqlConnection是SQL Server 数据库的一个打开的连接。 Sql 是需要访问数据库的SQL语句 SqlDataAdapter用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。Fill 方法用来填充填充 DataSet 或 DataTable数据集。 DataSet 是从数据源中检索到的数据在内存中的缓存。DataSet 由一组 DataTable 对象组成。 | 
十、有Form1 窗体和Form2窗体,Form1窗体传递用户名和用户班级到From2窗体并显示运行效果如下图所示。
Form1参数发送窗体用户名TextBox ID是txt1 ,班级TextBox ID是txt2
Form2 参数发送窗体用户名TextBox ID是txt1 ,班级TextBox ID是txt2
试编写参数传递代码,Form1 【参数传递】ID 是button1
| Form1: private void button1_Click(object sender, EventArgs e) { string name = txt1.Text.Trim();             string szjm _Class = txt2.Text.Trim(); Form2 from_1 = new Form2(); from_1.Szjm _name = name;         from_1.Szjm _Class = szjm _Class; from_1.ShowDialog(); } | Form2代码: private string szjm _name; public string Szjm _name { get { return szjm _name; } set { szjm _name = value; }  }  private string szjm _Class;  public string Szjm _Class  { get { return szjm _Class; } set { szjm _Class = value; }   } private void Form2_Load(object sender, EventArgs e) { txt1.Text = szjm _name; txt2.Text = szjm _Class; } | 
 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号