网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 认证考试 > 全国等级考试
本月文章推荐
.1996年4月全国计算机等级考试二级.
.1999年4月全国计算机等级考试二级.
.全国计算机等级考试二级DOS部分公.
.2002年9月全国计算机等级考试二级.
.1996年9月全国计算机等级考试二级.
.全国计算机等级考试二级Access考.
.全国计算机等级考试四级复习纲要.
.全国计算机考试二级QBASIC程序修.
.2000年4月全国计算机等级考试二级.
.2001年全国计算机等级考试四级试.
.1996年全国计算机等级考试四级试.
.了解考试系列:一级B的软件环境、.
.NCRE等级如何构成?主要考核什么.
.计算机等级二级C++语言程序设计考.
.C#网络应用编程基础练习题与答案.
.全国计算机等级考试 一级WPS Off.
.了解考试系列:二级VB语言的软件.
.全国计算机等级考试一级B模拟试题.
.如何准备等级考试?.
.全国计算机等级二级C语言上机编程.

C#网络应用编程基础练习题与答案(八)

发表日期:2007-4-23

  1. 使用保持连接的方式编写程序,计算各年级平均成绩,并显示结果。

  【解答】

以下是引用片段:
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Data.SqlClient;
  namespace 习题8_6_1
  {
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }
  //添加Button按钮在ListBox中显示结果
  private void button1_Click(object sender, EventArgs e)
  {
  listBox1.Items.Add("年级 平均成绩");
  string connectionString = Properties.Settings.Default.MyDatabaseConnectionString;
  //根据连接字符串创建SqlConnection实例
  SqlConnection conn = new SqlConnection(connectionString);
  //创建SqlCommand实例,并设置SQL语句和使用的连接实例
  SqlCommand cmd = new SqlCommand();
  cmd.CommandText = "select substring(学号,1,2) as 年级,avg(成绩) as 平均成绩 from MyTable2 group by substring(学号,1,2)";
  cmd.Connection = conn;
  try
  {
  conn.Open();
  SqlDataReader r = cmd.ExecuteReader();
  while (r.Read() == true)
  {
  listBox1.Items.Add(string.Format("{0}级 {1}", r[0], r[1]));
  }
  r.Close();
  }
  catch (Exception err)
  {
  MessageBox.Show(err.Message, "计算成绩失败");
  }
  finally
  {
  conn.Close();
  }
  }
  }
  }

  2. 使用保持连接的方式编写程序,查询MyTable2中不及格学生的学号,姓名,性别,成绩。并将结果在ListBox中显示出来。

  【解答】

以下是引用片段:
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Data.SqlClient;
  namespace 习题8_6_2
  {
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }
  private void button1_Click(object sender, EventArgs e)
  {
  listBox1.Items.Add(" 学号 姓名 性别 成绩");
  string connectionString = Properties.Settings.Default.MyDatabaseConnectionString;
  //根据连接字符串创建SqlConnection实例
  SqlConnection conn = new SqlConnection(connectionString);
  //创建SqlCommand实例,并设置SQL语句和使用的连接实例
  SqlCommand cmd = new SqlCommand();
  cmd.CommandText =
  "Select 学号,姓名,性别, 成绩 From MyTable2 Where (成绩<60)";
  cmd.Connection = conn;
  try
  {
  conn.Open();
  SqlDataReader r = cmd.ExecuteReader();
  while (r.Read() == true)
  {
  listBox1.Items.Add( string.Format("{0} {1} {2} {3}", r[0], r[1], r[2], r[3]));
  }
  r.Close();
  }
  catch (Exception err)
  {
  MessageBox.Show(err.Message, "查询成绩失败");
  }
  finally
  {
  conn.Close();
  }
  }
  }
  }

  3. 编写程序,以“[编码]名称”的样式在comboBox1中显示MyTable1的内容。

  【解答】

以下是引用片段:
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Data.SqlClient;
  namespace 习题8_6_3
  {
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }
  private void Form1_Load(object sender, EventArgs e)
  {
  string connectionString = Properties.Settings.Default.MyDatabaseConnectionString;
  //根据连接字符串创建SqlConnection实例
  SqlConnection conn = new SqlConnection(connectionString);
  //创建SqlCommand实例,并设置SQL语句和使用的连接实例
  SqlCommand cmd = new SqlCommand();
  cmd.CommandText = "Select * From MyTable1";
  cmd.Connection = conn;
  try
  {
  conn.Open();
  SqlDataReader r = cmd.ExecuteReader();
  while (r.Read() == true)
  {
  comboBox1.Items.Add(string.Format("[{0}] {1}", r[0], r[1]));
  }
  comboBox1.SelectedIndex = 0;
  r.Close();
  }
  catch (Exception err)
  {
  MessageBox.Show(err.Message, "显示数据失败");
  }
  finally
  {
  conn.Close();
  }
  }
  }
  }

  4. 在画线处填上合适的内容,使程序变得正确完整。

以下是引用片段:
  string connString="server=localhost;Integrated Security=SSPI;database=pubs";
  SqlConnection conn=____________________________
  string strsql="select * from MyTable2";
  SqlDataAdapter adapter=new SqlDataAdapter(_____________);
  dataset=new DataSet();
  adapter.Fill(________________,"MyTable2");
  this.dataGridView1.DataSource=dataset.Tables["MyTable2"];


  【解答】

以下是引用片段:
  string connString="server=localhost;Integrated Security=SSPI;database=pubs";
  SqlConnection conn= new SqlConnection(Properties.Settings.Default.MyDatabaseConnectionString);
  string strsql="select * from MyTable2";
  SqlDataAdapter adapter=new SqlDataAdapter(conn);
  dataset=new DataSet();
  adapter.Fill(dataset,"MyTable2");
  this.dataGridView1.DataSource=dataset.Tables["MyTable2"];


  5. 已知数据库中定义了一张person表,表的数据结构如下:

  字段名称字段类型字段含义

  id数字编号

  xm文本姓名

  xb文本性别

  nl数字年龄

  zip文本邮政编码

  用编写代码的方法在DataGridView中显示该数据表中年龄大于18的所有纪录,显示时以编号的升序排序,要求禁止用户编辑数据。

  【解答】

以下是引用片段:
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Data.SqlClient;
  namespace 习题8_6_5
  {
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }
  private void button1_Click(object sender, EventArgs e)
  {
  string connectionstring = Properties.Settings.Default.MyDatabaseConnectionString ;
  SqlConnection conn = new SqlConnection(connectionstring);
  try
  {
  conn.Open();
  SqlDataAdapter adapter = new SqlDataAdapter(
  "select id,xm,xb,nl from person where nl > 18 order by id", conn);
  DataSet dataset = new DataSet();
  //如果不指定表名,则系统自动生成一个默认的表名
  adapter.Fill(dataset, "person");
  //可以使用索引引用生成的表
  dataGridView1.DataSource = dataset.Tables["person"];
  adapter.Dispose();
  }
  catch (Exception err)
  {
  MessageBox.Show(err.Message);
  }
  finally
  {
  conn.Close();
  }
  }
  private void Form1_Load(object sender, EventArgs e)
  {
  //不允许用户直接在最下面的行添加新行
  dataGridView1.AllowUserToAddRows = false;
  //不允许用户直接按Delete键删除行
  dataGridView1.AllowUserToDeleteRows = false;
  }
  }
  }

  6.例8-18的存储过程定义中,将“@surname nvarchar(2),”改为“@surname nchar(2),”,是否仍然能够得到正确结果,为什么?

  【解答】

  不一定。因为如果传递的参数值为“王”,在存储过程中会自动变为“王 ”。

  7. 调用存储过程,设计程序完成下列功能:任意给出一个汉字,统计MyTable2中所有包含该汉字的人数,并显示统计结果。

  【解答】

以下是引用片段:
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Data.SqlClient;
  namespace 习题8_6_7
  {
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }
  private void button1_Click(object sender, EventArgs e)
  {
  SqlConnection conn =
  new SqlConnection(Properties.Settings.Default.MyDatabaseConnectionString);
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  //设置SQL语句为存储过程名,命令类型为存储过程
  cmd.CommandText = "SelectFilterStudentsNum";
  cmd.CommandType = CommandType.StoredProcedure;
  //添加存储过程中参数需要的初始值,注意参数名要和存储过程定义的参数名相同
  if( textBox1.Text=="")
  {
  MessageBox.Show("请输入有效信息","错误");
  textBox1.Focus();
  return ;
  }
  cmd.Parameters.AddWithValue("@surname", textBox1.Text);
  cmd.Parameters.AddWithValue("@record", 0);
  //指定哪些参数需要返回结果
  cmd.Parameters["@record"].Direction = ParameterDirection.Output;
  try
  {
  conn.Open();
  //执行存储过程
  cmd.ExecuteNonQuery();
  //显示返回的结果
  MessageBox.Show(string.Format("有{0}条含 {1} 的记录",
  cmd.Parameters["@record"].Value,textBox1.Text));
  }
  catch (Exception err)
  {
  MessageBox.Show(err.Message);
  }
  finally
  {
  conn.Close();
  }
  }
  }
  }

上一篇:C#网络应用编程基础练习题与答案(七) 人气:25995
下一篇:C#网络应用编程基础练习题与答案(九) 人气:27833
浏览全部C#网络应用编程基础练习题与答案的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐