ASP.Net网络数据库:修改数据库


1.使用数据库MyFirstAccessDB

  本实例使用的数据库名称为MyFirstAccessDB,版本为Microsoft Access 2003中文版。该数据库已经在1.4.2节中创建。

  2.设计页面UpdateData.aspx

  在应用程序Example_1_1中添加一个新的Web页面,命名为UpdateData.aspx。然后在页面中添加两个TextBox控件和一个Button按钮控件,它们的名称分别为MyID、MyName和UpdataDataBtn。

  控件MyID和控件MyName分别用来输入字段主键ID和字段名称;控件UpdataDataBtn实现修改数据库中数据的功能。页面UpdateData.aspx的设计界面如图1-10所示。

  图1-9 页面ShowData.aspx的初始界面

  图1-10 页面UpdateData.aspx的设计界面

  页面UpdateData.aspx的HTML设计代码如下:

  <%@ Page language="c#" Codebehind="UpdateData.aspx.cs"
  AutoEventWireup="false" Inherits="Example_1_1.UpdateData" %>
  <HTML><HEAD><title>Example_1_1:修改数据库中的数据</title></HEAD>
  <asp:TextBox id="MyID" runat="server"></asp:TextBox>
  <asp:TextBox id="MyName" runat="server"></asp:TextBox>
  <asp:Button id="UpdateDataBtn" runat="server"
  Text="修改数据"></asp:Button>
  </HTML>

3.设计访问数据库的连接字符串

  把页面UpdateData.aspx访问数据库的连接字符串存放在应用程序的配置文件web.config中。程序代码如下:

  <appSettings>
  <add key="ACCESSCONNECTIONSTRING"
  value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=">
  </add>
  </appSettings>

  由于页面ShowData.aspx获取连接字符串时需要使用类ConfigurationSettings。它被包含在名字空间System.Configuration中,因此需要引入该名字空间。页面获取连接字符串的程序代码如下:

  using System.Configuration;         //引入名字空间
  //获取连接字符串
  private readonly string ACCESSCONNECTIONSTRING
  =ConfigurationSettings.AppSettings[
  "ACCESSCONNECTIONSTRING"].ToString();

  4.设计页面UpdateData.aspx的事件和函数

  页面UpdateData.aspx调用函数Page_Load(Object sender,System.EventArgs e)初始化,该函数调用函数ShowDBData()显示数据库MyFirstAccessDB的表MyDataTable中的数据,显示的格式为表中的字段排列顺序,同时还显示连接信息。函数Page_Load(object sender, System.EventArgs e)和函数ShowDBData()的程序代码如下:

  private void Page_Load(object sender, System.EventArgs e)
  {
    if(!Page.IsPostBack)
    {
      ShowDBData();            //显示数据库MyFirstAccessDB中的数据
    }
  }
  private void ShowDBData()
  {    //设在访问数据库的连接字符串
    string accessString = ACCESSCONNECTIONSTRING
    + Server.MapPath("MyFirstAccessDB.mdb");
    string cmdText = "SELECT * FROM MyDataTable";  //创建获取数据的SQL语句
    //创建数据库的连接和Command
    OleDbConnection accessConn = new OleDbConnection(accessString);
    OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
    //定义数据显示的格式
    string dataString = "<br>MyID MyName MyType My Length<br>";
  
 try
    {
      accessConn.Open();          //打开OLEDB数据库的连接
      Response.Write("连接MyFirstAccessDB数据源成功!!!");
      //显示数据库中的信息
      OleDbDataReader reca = accessComm.ExecuteReader();
      while(reca.Read())
      {  //获取相应数据
        dataString += reca["MyID"].ToString() +" "
        + reca["MyName"].ToString()
        +" " + reca["MyType"].ToString() +" "
        + reca["MyLength"].ToString();
        dataString += "<br>";
      }
      reca.Close();
      Response.Write(dataString);             //显示数据库中的内容
      accessConn.Close();              //关闭OLEDB数据库的连接
    }
    catch(Exception ex)
    {
      Response.Write(ex.Message);           //抛出数据库连接异常
    }
  }

单击页面UpdateData.aspx中【修改数据】按钮控件,触发事件 UpdateDataBtn_Click(object sender, System.EventArgs e)。该事件实现修改数据库MyFirstAccessDB中数据的功能,它调用函数UpdataDBData(String myID,String myName)。首先从页面获取MyID和MyName的值,然后再使用SQL更新语句更新表中相应的记录,最后调用函数ShowDBData()显示表的数据。事件UpdateDataBtn_Click(object sender, System.EventArgs e)和函数UpdataDBData(String myID,String myName)的程序代码如下:

  private void UpdateDataBtn_Click(object sender, System.EventArgs e)
  {
    if(MyID.Text.Trim().Length > 0 && MyName.Text.Trim().Length > 0)
    { 
      UpdataDBData(MyID.Text.Trim(),MyName.Text.Trim());       //修改表中的记录
      ShowDBData();          //显示修改后的数据
    }
  }
  private void UpdataDBData(String myID,String myName)
  {    //设置访问数据库的连接
    string accessString = ACCESSCONNECTIONSTRING
    + Server.MapPath("MyFirstAccessDB.mdb");
    //设置更新数据库的SQL语句
    string cmdText = "UPDATE MyDataTable SET MyName='" + myName
    + "' WHERE MyID=" + myID;
    //创建访问数据库的连接和Command
    OleDbConnection accessConn = new OleDbConnection(accessString);
    OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
  
 try
    {
      accessConn.Open();       //打开OLEDB数据库的连接
      accessComm.ExecuteNonQuery();            //执行更新数据操作
      accessConn.Close();           //关闭OLEDB数据库的连接
    }
    catch(Exception ex)
    { 
      Response.Write(ex.Message);         //抛出数据库连接异常
    }
  }

  经过前面的步骤,一个简单的网络数据库程序就完成了。下面运行一下。

  (1)设置页面UpdateData.aspx为应用程序的起始页面。按F5键运行,出现如图1-11所示的初始界面。

  图1-11 页面UpdateData.aspx的初始界面

  (2)在MyID和MyName文本框中分别输入“1”和“Name100”,然后单击【修改数据】按钮,页面UpdateData.aspx如图1-12所示。

  图1-12 页面UpdateData.aspx显示修改表后的数据


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3