ado.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>



    把页面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显示修改表后的数据

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。