日期:2010-10-04  浏览次数:20547 次

  摘 要 本文以驾校管理系统为例,介绍如何利用asp.net和SQL server 2000来进行动态网页设计,以满足用户对数据库实时更新以及查询的要求。

  关键词 asp.net; c#; SQL server 2000

  引言

  近年来,随着Internet的迅速发展以及网页制作技术的日臻完善,驾校信息管理系统软件的设计也日趋简单化和规范化。这里我们将采用asp.net动态网页技术,通过编写c#脚本语言对SQL server 2000数据库进行操作,以实现系统中的诸多功能,如“报名录入”,“报名资料查询”,“确认合格学员”,“学员资料查询”等等。

  asp.net 、c#和ado.net

  1、ASP.NET是microsoft推出的一种强大的Web服务器端技术,与ASP相比,ASP.NET拥有更高性能的编译特性与缓存机制。支持多种开发语言,包括C#、J#、Visual Basic和JScript。ASP.NET分离程序代码与显示内容,使代码看起来更简洁。由于ASP.NET的程序代码是编译过的,所以执行时会比ASP快很多。

  2、C#语言是Microsoft针对.Net平台开发的一种全新的编程语言。它是一种面相对象的开发语言,因此具有封装、继承和多态性。C#语法简洁,效率高,并且可以与以其他.NET语言编写的代码进行兼容。

  3、ADO.NET用于在 Microsoft .NET 平台中提供数据访问服务。它作用在服务器端通过执行SQL命令对数据库进行访问和更新。ADO.net主要包括Connection,Dataset和Command三个对象, 它们的主要功能如下:

  Connection对象:连接数据库;
  Dataset对象:存取数据库的内容;
  Command对象:对数据库执行查询指令,以及执行非查询(更新、删除和添加等)命令。

  网页设计


  下面将以驾校管理系统软件中的“学员资料查询与修改”为例说明有关网页设计问题。(c#)

  首先,在SQL server 2000中建一个名为”jx”的数据库,包含表”车型”、”学员资料” 和视图”V学员资料”。

  其次,”学员资料查询与修改”主要由三个页面组成,为:xy_search.aspx、xy_search_win.aspx 、 xy_search_detail.aspx,分别用于输入查询条件、显示查询结果、显示其中一条记录的详细资料并根据需要进行修改。

  1、xy_search.aspx

  在该页面中根据用户的查询条件设计页面,方法:用鼠标左键选中工具箱web窗体中的控件,拖拽到页面,放置到合适的位置,然后设置该控件的属性,其它的控件类似。如图1所示。


图1

  页面设计好要进行后台代码的编写,在xy_search.aspx.cs中进行:


using System.Data.SqlClient;
using System.Data.SqlTypes;// 添加命名空间

public string name1
{
 get
 {
  return
  TextBox9.Text.Trim();
 }
}

//定义TextBox9中的内容为公用变量,设置文本框的Visible属性为False

private void Page_Load(object sender, System.EventArgs e)
{
 Page.RegisterStartupScript("focus", "<script language= javascript> document.getElementById('TextBox1').focus();</script>");//插入java脚本(聚焦TextBox1)

 if(!IsPostBack)// 检查是否是第一次加载本页
 {
  SqlConnection myConnection=new  SqlConnection("server=JXSERVER;uid=sa;pwd=1818;database=jx");

  myConnection.Open();//连接数据库
  SqlDataAdapter myAdapter=new SqlDataAdapter("select * from 车型",myConnection);// 建立myAdapter对象
  DataSet myDataSet=new DataSet(); //建立一个myDataSet对象 
  myAdapter.Fill(myDataSet,"车型");//把执行select语句得到的记录添加到myDataSet中   DropDownList1.DataSource=myDataSet.Tables["车型"].DefaultView;
  //指定DropDownList1数据源
  DropDownList1.DataTextField="车型";
  //指定DropDownList1的文本值为“车型”表中‘车型’字段
  DropDownList1.DataValueField="车型ID";

  //指定DropDownList1的Value值为“车型”表中‘车型ID’字段 

  DropDownList1.DataBind();//绑定数据
  DropDownList1.SelectedValue="C1";//指定DropDownList1的默认Value值为C1
  myConnection.Close();//关闭数据库连接
 }
}// 在此处放置用户代码以初始化页面

/*由于在实现删改功能的同时可以实现查询功能因此仅以删改功能为例*/

private void Button2_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 姓名 like '" + TextBox1.Text.Trim() + "'";
 //定义姓名模糊查询条件语句

 Server.Transfer("xy_search_win.aspx");

 //传送姓名查询条件语句到第二个页面
}

private void Button4_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 证件号码= '" + TextBox2.Text.Trim() + "'";
 //证件号码= TextBox2.Text的值
 Server.Transfer("xy_search_win.aspx");
}

private void Button6_Click(object sender, System.EventArgs e)
{
 extBox9.Text = "where 学号= '" + TextBox3.Text.Trim() + "'";
 //学号= TextBox3.Text的值
 Server.Transfer("xy_search_win.aspx");
}
private void Button8_Click(object sender, System.EventArgs e)
{
 TextBox9.Text = "where 学号 like '"+TextBox4.Text.Trim()+"%'";
 //学号与TextBox4.Text的值模糊匹配
 Server.Transfer("xy_search_win.aspx");
}

private