国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

DataGrid控件進(jìn)行數(shù)據(jù)綁定的方法

2024-07-10 12:38:05
字體:
供稿:網(wǎng)友

在實(shí)際的應(yīng)用項目中,可以通過使用.NET的DataGrid控件把數(shù)據(jù)庫中的信息顯示在界面上,供用戶瀏覽或修改。

下面介紹使用DataGrid控件進(jìn)行數(shù)據(jù)綁定的方法

DataGrid控件進(jìn)行數(shù)據(jù)綁定后,可以實(shí)現(xiàn)DataGrid控件上顯示的數(shù)據(jù)同后臺數(shù)據(jù)庫的數(shù)據(jù)綁定在一起,同步地一起變化。另外,DataGrid控件以表格的形式顯示了查詢到的數(shù)據(jù)結(jié)果集,默認(rèn)的訪問方式是只讀而不能修改,通過設(shè)置,可以實(shí)現(xiàn)記錄的修改和刪除功能。

 通過以下的步驟,能將數(shù)據(jù)庫里的數(shù)據(jù)動態(tài)綁定到DataGrid對象里并顯示。

(1)在D盤下建立一個Access類型的數(shù)據(jù)庫,命名為Student.mdb。在其中新建一張StudentInfo的表,其中的字段如表1所示。

表1  StudentInfo表字段說明

 
字段名稱 字段描述 數(shù)據(jù)類型 備注說明
 SID  學(xué)號  文本  主鍵
 SName  姓名  文本  —
 SSex  性別  文本  —

注意:表中“—”表示無須設(shè)置相關(guān)信息。

完成后往其中插入一些記錄,如(001, Tom, 男)。

(2)打開Visual Studio 2005集成開發(fā)環(huán)境后,選擇“文件”|“新建”|“新建網(wǎng)站”ming令,在彈出的“新建網(wǎng)站”對話框中選擇“ASP.NET項目”,輸入網(wǎng)站名 testDataGrid和路徑C:/root/DataGrid,登錄模塊所有代碼和配置文件均放在此項目下。

(3)在集成開發(fā)環(huán)境中的“解決方案資源管理器”里,選中項目,右擊,在彈出的快捷菜單中選擇“添加新項”ming令,新建一個Web配置文件,命名為Web.config。該配置文件主要用來管理登錄模塊的一些全局性數(shù)據(jù)。

其中,在配置文件里設(shè)置數(shù)據(jù)庫的連接屬性,使用OleDB的Data Provider,連接到Access數(shù)據(jù)源上,代碼如下:

<configuration>
    <appSettings>
    <add key="connStr" value=" Porvider = Microsoft.Jet.OleDB.4.0;Data Source= D:/Student.mdb"> </add>
    </appSettings>
    <connectionStrings/>

(4)在集成開發(fā)環(huán)境中的“解決方案資源管理器”里,選中項目,右擊,在彈出的快捷菜單中選擇“添加新項”ming令,新建一個Web窗體,命名為showDataGrid.aspx。

(5) 打開“工具箱”的“Web窗體”,從中拖曳一個DataGrid控件到頁面上,從DataGrid的屬性欄中,可以看到該DataGrid對象叫DataGrid1。選中DataGridView控件,右擊,在彈出的快捷菜單中選擇“屬性”ming令,在屬性欄的Columns中單擊“…”按鈕,在彈出的“編輯列”對話框中,通過“添加”ming令,依次向DataGridView控件里添加“學(xué)號”、“姓名”和“性別”3列,并把每列的DataPropertyName設(shè)置成該列對應(yīng)的數(shù)據(jù)庫字段,用于數(shù)據(jù)綁定。具體設(shè)置如表2所示。

表2  DataGridView的Columns屬性數(shù)據(jù)列信息

 
 數(shù) 據(jù) 列 名  DataPropertyName
 學(xué)號  SID
 姓名  SName
 性別  SSex

(6)雙擊窗體的空白處,進(jìn)入相應(yīng)的邏輯代碼文件showDataGrid.aspx.cs。在該文件的頂端,添加數(shù)據(jù)庫訪問引用的命名空間語句:

using System.Data.SqlClient;

表2 DataGridView的Columns屬性數(shù)據(jù)列信息并在class的開頭添加連接數(shù)據(jù)庫的字符串定義:

private static string strConnect = System.Configuration.ConfigurationManager.AppSettings["connStr"];

然后在該頁面的Page_Load方法里添加以下代碼:

// 數(shù)據(jù)庫連接
        OleDbConnection objConnection = new OleDbConnection(strConnect);

 // 數(shù)據(jù)庫ming令
        OleDbCommand objCommand = new OleDbCommand("", objConnection);
         try
        {
              // 設(shè)置Sql語句
               objCommand.CommandText = "SELECT SID,SName,Sex FROM StudentInfo ORDER BY SID";
               // 打開數(shù)據(jù)庫連接
               if (objConnection.State == ConnectionState.Closed)
                {
                   objConnection.Open();
                }
                // 創(chuàng)建DataSet對象
                DataSet objDataset = new DataSet();
                // 使用DataAdapter對象填充DataSet
                OleDbDataAdapter objAdapter = new OleDbDataAdapter(objCommand);
                objAdapter.Fill(objDataset, "objDataset");
                DataGrid1.DataSource = objDataset.Tables["objDataset"];
                //數(shù)據(jù)綁定
                DataGrid1.DataBind();
        }
        catch (SqlException exp)
        {
               MessageBox.Show(exp.Message, "錯誤", MessageBoxButtons.OK);
        }
        finally
       {
           // 關(guān)閉數(shù)據(jù)庫連接
           if (objConnection.State == ConnectionState.Open)
            {
               objConnection.Close();
            }
        }

由于使用的是Data Provider,所以ADO.NET組件的對象都以O(shè)leDb開頭。

上述代碼的主要業(yè)務(wù)邏輯是:

1) 根據(jù)連接字符串,創(chuàng)建數(shù)據(jù)庫連接對象,并根據(jù)連接對象創(chuàng)建 OLeDbCommand對象。

2) 根據(jù)SQL語句,查詢所有學(xué)生的信息,以SID的順序排列。

3) 使用OleDbDataApapter對象,將查詢結(jié)果填充到DataSet中的objDataset數(shù)據(jù)表里。

4) 將DataGrid的數(shù)據(jù)源設(shè)置成objDataset數(shù)據(jù)表,實(shí)現(xiàn)數(shù)據(jù)綁定。

這樣,當(dāng)打開此頁面時,DataGrid就能與Access數(shù)據(jù)庫綁定,顯示數(shù)據(jù)庫里的學(xué)生信息。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪湖市| 三穗县| 江孜县| 双鸭山市| 枣强县| 正镶白旗| 湘潭县| 文登市| 二连浩特市| 蒙阴县| 阿克陶县| 华蓥市| 英吉沙县| 西吉县| 云阳县| 德兴市| 西宁市| 资兴市| 晋州市| 灵川县| 浦东新区| 彭州市| 西乡县| 沿河| 逊克县| 晋宁县| 澎湖县| 稷山县| 丰台区| 宁夏| 永昌县| 海兴县| 江山市| 凉城县| 东丽区| 莆田市| 内乡县| 桂林市| 蓝山县| 商水县| 广水市|