新微赢技术网

标题: ASP.Net网络数据库:修改数据库 [打印本页]

作者: 羽衣独舞    时间: 2009-3-16 18:31
标题: 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>


    把页面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);                      //抛出数据库连接异常
        }
    }




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2