版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第5講講 ADO.NET數(shù)據(jù)訪問接口數(shù)據(jù)訪問接口 內(nèi)容提要n本章首先介紹本章首先介紹ADO.NET的結(jié)構(gòu)。的結(jié)構(gòu)。n然后將對然后將對ADO.NET的的 Connection對象,對象,Command對象、對象、DataReader和和DataAdapter對象作深入的研究。對象作深入的研究。n作為數(shù)據(jù)庫的基礎(chǔ),將對作為數(shù)據(jù)庫的基礎(chǔ),將對SQL語句作簡要的介紹,語句作簡要的介紹,介紹基本查詢語句、聚合函數(shù)、分組查詢以及交介紹基本查詢語句、聚合函數(shù)、分組查詢以及交叉查詢。叉查詢。n最后介紹常用的數(shù)據(jù)控件:最后介紹常用的數(shù)據(jù)控件:Repeater數(shù)據(jù)控件、數(shù)據(jù)控件、DataList數(shù)據(jù)控件和數(shù)據(jù)控
2、件和DataGrid數(shù)據(jù)控件。數(shù)據(jù)控件。ADO.NET的結(jié)構(gòu) 數(shù)據(jù)提供程序 n表6-1 .NET 數(shù)據(jù)提供程序的四個核心對象 對象說明Connection建立與特定數(shù)據(jù)源的連接。Command對數(shù)據(jù)源執(zhí)行命令。DataReader從數(shù)據(jù)源中讀取只進且只讀的數(shù)據(jù)流。DataAdapter用于將數(shù)據(jù)填充到 DataSet。SQL Server .NET 數(shù)據(jù)提供程序 n對應(yīng)SQL Server.NET的4個核心對象分別是:SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter。這4個對象包含在System.Data.SqlClient命名控件中,
3、需要將這個命名空間引入到文件中。nSQL Server.NET數(shù)據(jù)提供程序?qū)QL Server數(shù)據(jù)庫的底層操作進行了封裝,可以更加快捷的訪問SQL Server數(shù)據(jù)庫。目前主要用來操作SQL Server 2000或者SQL Server2005。 OLE DB .NET 數(shù)據(jù)提供程序 n對應(yīng)OLE DB .NET的4個核心對象分別是:OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter。這4個對象包含在System.Data.OleDb命名控件中,需要將這個命名空間引入到文件中n。n目前主要用來訪問Access、Foxp
4、ro等簡單的數(shù)據(jù)源。Oracle DB .NET數(shù)據(jù)提供程序 n對應(yīng)Oracle DB .NET的4個核心對象分別是:OracleConnection、OracleCommand、OracleDataReader和OracleDataAdapter。這4個對象包含在System.Data.OracleClient命名控件中,需要將這個命名空間引入到文件中。n目前ADO.NET1.1帶Oracle DB.NET數(shù)據(jù)提供程序只支持Oracle8.1.7以上版本,對于其他的Oracle版本還需要到Microsoft網(wǎng)站下載驅(qū)動程序。 ODBC.NET數(shù)據(jù)提供程序 n對應(yīng)ODBC .NET的4個核心對
5、象分別是:OdbcConnection、OdbcCommand、OdbcDataReader和OdbcDataAdapter。這4個對象包含在System.Data.Odbc命名控件中,需要將這個命名空間引入到文件中。n通過ODBC建立的數(shù)據(jù)源都可以通過ODBC.NET數(shù)據(jù)提供程序訪問。DataSet簡介nADO.NET的核心組件是DataSet,內(nèi)部用XML描述數(shù)據(jù),具有平臺無關(guān)性。DataSet中常用的對象是DataTable和DataRow等等。nDataSet通過DataAdapter對象從數(shù)據(jù)源得到數(shù)據(jù),DataAdapter是連接DataSet和數(shù)據(jù)庫的一個橋梁,因此命名為:“數(shù)據(jù)
6、適配器”。SQL語言概述 nSQL(Structured Query Language)是關(guān)系型數(shù)據(jù)庫的標準語言,是由國際標準組織提出的,各種關(guān)系型數(shù)據(jù)庫都支持SQL指令,SQL Server在基本的SQL基礎(chǔ)上進行了擴充,SQL語句有如下的兩大特點:n(1)SQL是一種類似于英語的語言,很容易理解和書寫。n(2)SQL語言是非過程化的語言(第四代語言)。SQL語言包括DDL(Data Definition Language:數(shù)據(jù)定義語言),DML(Data Manipulation Language:數(shù)據(jù)操作語言)和DCL(Data Control Language:數(shù)據(jù)控制語言)等等。 表
7、6-2 SQL語句分類 SQL分類描述數(shù)據(jù)定義語言(DDL)數(shù)據(jù)定義語言(DDL)用于定義、修改或者刪除數(shù)據(jù)庫對象,如Create Table等數(shù)據(jù)操縱語言(DQL)數(shù)據(jù)查詢語句(Data Query Language,DQL)用于對數(shù)據(jù)進行檢索。如最常用的Select語句數(shù)據(jù)操縱語言(DML)數(shù)據(jù)操縱語言(DML)用于訪問、建立或者操縱在數(shù)據(jù)庫中已經(jīng)存在數(shù)據(jù),如Select、Insert、Update和Delete等等。事務(wù)控制語言(TCL)事務(wù)控制語言(Transact Control Language)管理DML語句所做的修改,是否保存修改或者放棄修改。如:Commit、Rollback
8、、Savepoint、Set Transaction等命令。數(shù)據(jù)控制語言(DCL)數(shù)據(jù)控制語言(DCL)管理對數(shù)據(jù)庫內(nèi)對象的訪問權(quán)限和授予和回收,如Grant、Revoke等等?;維QL語句 n基本的SQL語句包括DQL和DML。也就是對數(shù)據(jù)庫最常用的四大基本操作:查詢(Select)、插入(Insert)、更新(Update)和刪除(Delete)。n n1. 基本句型一:(最簡單的SELECT語句)nSELECT 字段名 FROM 數(shù)據(jù)表n例1. SELECT * FROM graden功能說明:將grade表中的所有字段取出來。n例2. SELECT 學(xué)號,姓名 FROM graden
9、功能說明:將grade表中學(xué)號和姓名字段取出來。n例3. SELECT學(xué)號,姓名,語文+數(shù)學(xué)+英語 as 總成績 FROM graden功能說明:將grade表中的學(xué)號和姓名取出來,并將語文、數(shù)學(xué)和英語成績相加產(chǎn)生虛擬的總成績?;揪湫投2. 基本句型二:(使用條件查詢)nSELECT字段名 FROM數(shù)據(jù)表 WHERE 篩選條件n測試句型如下。n例1. SELECT * FROM grade WHERE數(shù)學(xué)60n功能說明:把所有數(shù)學(xué)成績大于60分的記錄選出來。n例2. SELECT * FROM grade WHERE數(shù)學(xué)=300 or 語文=300n功能說明:把數(shù)學(xué)成績等于300分或者語文
10、成績等于300分的人選出來。n例3. Like子句基本格式一:“_”匹配。n功能說明:每個下劃線匹配一個任意字符,注意只匹配一個字符。比如:姓名 like _敏,匹配姓名以“敏”字結(jié)尾且字數(shù)等于二的所有數(shù)據(jù)記錄,如:“張敏”。n例4. Like子句基本格式二:“%”匹配。n比如:姓名 Like %敏%,匹配姓名中出現(xiàn)“敏”的所有數(shù)據(jù)記錄,如:“周惠敏”,“于敏”、“敏大”、“敏二”等。比如要在數(shù)據(jù)庫中查詢姓江的人,只要利用一條SQL語句就可以了,SELECT * FROM 數(shù)據(jù)庫表 WHERE 姓名 Like 江%。基本句型三n3. 基本句型三:(進行排序)nSELECT字段名 FROM 數(shù)據(jù)
11、表 ORDER BY 字段名n測試句型如下。n(1)SELECT * FROM grade ORDER BY數(shù)學(xué) 注:從低到高排序n功能說明:從grade表中取出所有字段,并按數(shù)學(xué)成績排序。n(2)SELECT * FROM grade ORDER BY數(shù)學(xué),語文n功能說明:從grade表中取出所有字段,并按數(shù)學(xué)成績排序,如果數(shù)學(xué)成績相同則按照語文成績排序。n(3)SELECT * FROM grade ORDER BY數(shù)學(xué) desc 注:從高到低排序n功能說明:從grade表中取出所有字段,并按數(shù)學(xué)成績倒序。n(4)SELECT top 5 * FROM graden功能說明:從grade表
12、中取出前五條記錄的所有字段。DML的基本格式nDML的基本格式n(1)DELETE指令:刪除數(shù)據(jù)記錄。n基本語法:DELETE FROM 數(shù)據(jù)表 WHERE 條件n例:DELETE from grade WHERE數(shù)學(xué)=0 n功能說明:刪除所有數(shù)學(xué)成績?yōu)榱愕挠涗?,如果沒有WHERE子句,則刪除所有記錄。n(2)UPDATE指令:更新數(shù)據(jù)記錄。n基本語法:UPDATE 數(shù)據(jù)表 SET 字段值=新值 WHERE條件n例1:UPDATE grade SET 數(shù)學(xué)=數(shù)學(xué)+10 說明:將grade表中所有人的成績加10分 n例2:UPDATE grade SET 數(shù)學(xué)=100 WHERE 姓名 like
13、 %敏% n功能說明:將姓名中含有敏的人的數(shù)學(xué)成績更新為100分n(3)INSERT INTO指令:添加數(shù)據(jù)記錄。n基本格式1:INSERT INTO 數(shù)據(jù)表VALUES (字段新值)n基本格式2:INSERT INTO 數(shù)據(jù)表(字段一,字段二,) VALUES (字段新值)聚合函數(shù) n聚合函數(shù)在信息管理系統(tǒng)經(jīng)常使用,功能是做一些基本的統(tǒng)計和計算。n聚合函數(shù)有5個,分別是SUM函數(shù)、AVG函數(shù)、COUNT函數(shù)、MAX函數(shù)和MIN函數(shù)。 SUN函數(shù)n(1)SUN函數(shù),功能是算出某個字段的總值。n例. SELECT SUM(數(shù)學(xué)) As Total FROM graden功能說明:求出所有學(xué)生數(shù)學(xué)
14、成績總和,這個數(shù)值的列名為Total。在SQL輸入窗口中輸入,n(2)AVG函數(shù),功能是算出某個字段的平均值。n例. SELECT AVG(數(shù)學(xué)) As Average FROM graden(3)COUNT函數(shù),功能是算出返回記錄的行數(shù)。n例. SELECT COUNT(*) As Counts FROM graden功能說明:求出滿足條件的記錄總數(shù)。n(4)MAX函數(shù),功能是算出某個字段的最大值。n例. SELECT MAX(數(shù)學(xué)) As First FROM graden功能說明:求出所有學(xué)生數(shù)學(xué)成績的最高分,這個數(shù)值的列名為First。n(5)MIN函數(shù),功能是算出某個字段的總值。n例
15、. SELECT MIN(數(shù)學(xué)) As Last FROM graden功能說明:求出所有學(xué)生數(shù)學(xué)成績的最低分,這個數(shù)值的列名為Last。分組查詢 n計算所有男生的數(shù)學(xué)平均成績,有兩種方法:n(1)SELECT 性別, AVG(數(shù)學(xué)) as 平均分 FROM grade GROUP BY 性別 HAVING 性別=男n(2)SELECT 性別, AVG(數(shù)學(xué)) as 平均分 FROM grade WHERE 性別=男 GROUP BY 性別分組查詢n在使用分組查詢的時候,有4點需要注意。n(1)WHERE子句必須放在GROUP BY子句之前。n(2)HAVING子句中只能包含分組字段或者聚合函
16、數(shù)。n(3)SELECT語句選擇的列只能是分組字段或者聚合函數(shù)。n(4)HAVING必須放在GROUP BY子句之后。交叉查詢 n考慮3個表:學(xué)生表(Student)、課程表(Course)和選課表(SC)表的關(guān)系如圖7-16所示。 n其中:n(1)學(xué)生表中的sno表示學(xué)生學(xué)號,sname表示學(xué)生姓名。n(2)課程表中cno表示課程的編號,cname表示課程的名稱。n(3)選課表中的sno表示學(xué)生學(xué)號,cno表示課程編號。n查找選擇課程為“軟件工程”的所有同學(xué)姓名?可以利用如下的SQL語句。nSELECT b.sname FROM sc a, student b, course cnWHERE
17、 o=o nAND a.sno=b.sno and ame=軟件工程n其中“sc a”表示給表sc起個別名為a,同樣“student b”是給student表起個別名b。該查詢實現(xiàn)了三個表之間的交叉查詢。Connection對象 案例名稱:使用案例名稱:使用Connection對象對象程序名稱:程序名稱:6-01.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+Dat
18、aSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();使用使用Connection對象的構(gòu)造函數(shù)對象的構(gòu)造函數(shù)案例名稱:使用案例名稱:使用Connection對象的構(gòu)造函數(shù)對象的構(gòu)造函數(shù)程序名稱:程序名稱:6-02.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn;Conn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+Dat
19、aSource=+Server.MapPath(person.mdb);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();使用使用Connection對象連接對象連接SQL Server數(shù)據(jù)庫數(shù)據(jù)庫案例名稱:使用案例名稱:使用Connection對象連接對象連接SQL Server數(shù)據(jù)庫數(shù)據(jù)庫程序名稱:程序名稱:6-03.aspxvoidPage_Load(Objectsender,EventArgse)SqlConnectionConn;Conn=newSqlConnection(server=localhost;data
20、base=pubs;uid=sa;pwd=);Conn.Open();Message.Text=Conn.State.ToString();Conn.Close();Command對象 n建立數(shù)據(jù)連接以后,利用Command對象來執(zhí)行命令并從數(shù)據(jù)源返回結(jié)果。nCommand對象常用的構(gòu)造函數(shù)包括兩個參數(shù),1個是要執(zhí)行的SQL語句,另一個是已經(jīng)建立的Connnection對象,基本語法是:nOleDbCommand Comm=new OleDbCommand(select * from grade,Conn);ExecuteReader方法 案例名稱:使用案例名稱:使用ExecuteRader方
21、法方法程序名稱:程序名稱:6-04.aspx voidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand(select*fromgrade,Conn);OleDbDataReaderdr=Comm.ExecuteReade
22、r();dg.DataSource=dr;dg.DataBind();Conn.Close();案例名稱:使用案例名稱:使用Like子句實現(xiàn)模糊查詢子句實現(xiàn)模糊查詢程序名稱:程序名稱:6-05.aspxvoidsubmit_Click(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();stringsql=
23、select*fromgrade;if(mytext.Text!=)sql=select*fromgradewhere姓名like%+mytext.Text+%;Message.Text=sql;OleDbCommandComm=newOleDbCommand(sql,Conn);OleDbDataReaderdr=Comm.ExecuteReader();dg.DataSource=dr;dg.DataBind();Conn.Close();請輸入被查詢的人名關(guān)鍵字n程序中最關(guān)鍵的是如何將變量加到SQL語句中去?!癝QL = ”Select * from grade where 姓名 lik
24、e %“ + str + ”%“”語句中str是變量,要得到正確的格式只要按照下面的兩個步驟進行操作。n(1)寫出正確的SQL語句,SQL = Select * from grade where 姓名 like %敏%,因為姓名是文本型變量,所以必須加上單引號,在SQL語句中,用單引號表示字符型變量。n(2)確定要替換的變量,這里是要將“敏”替換成變量Key。替換的規(guī)則是:刪除“敏”字,在原字符串“敏”的位置,首先加上兩個雙引號,然后在兩個雙引號之間加上兩個加號,最后將變量加到兩個加號中間。 ExecuteScalar方法 案例名稱:使用案例名稱:使用ExecuteScalar方法方法程序名稱
25、:程序名稱:6-06.aspx voidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=selectavg(數(shù)學(xué))fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);Doubled=(Double)
26、Comm.ExecuteScalar();Message.Text=所有人數(shù)學(xué)的平均成績?yōu)?d.ToString()+分;Conn.Close();ExecuteNonQuery方法 案例名稱:使用案例名稱:使用ExecuteNonQuery方法執(zhí)行方法執(zhí)行Insert語句語句程序名稱:程序名稱:6-07.aspxvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSou
27、rce=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=insertintograde(學(xué)號,姓名,數(shù)學(xué))+values(99,小張,100);OleDbCommandComm=newOleDbCommand(strSQL,Conn);Comm.ExecuteNonQuery();Conn.Close();Response.Write(操作成功!);ADO.NET事務(wù)處理 案例名稱:使用事務(wù)的基本格式案例名稱:使用事務(wù)的基本格式程序名稱:程序名稱:6-08.aspxvoidPage_Load(Objectsender,EventArgs
28、e)OleDbConnectionConn=newOleDbConnection();Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();OleDbCommandComm=newOleDbCommand();OleDbTransactionTrans;Trans=Conn.BeginTransaction();Comm.Connection=Conn;Comm.Transaction=Trans;tryComm.CommandText
29、=UPDATEgradeSET數(shù)學(xué)=100WHERE姓名LIKE%周%;Comm.ExecuteNonQuery();Comm.CommandText=UPDATEgradeSET數(shù)學(xué)=60WHERE姓名LIKE%張%;Comm.ExecuteNonQuery();Trans.Commit();Response.Write(事務(wù)執(zhí)行成功!);catch(Exceptionex)Trans.Rollback();Response.Write(出現(xiàn)錯誤,事務(wù)已經(jīng)回滾!);finallyConn.Close();DataReader對象 n取DataReader對象的數(shù)據(jù),有兩種方法:n1、通過和D
30、ataGrid等數(shù)據(jù)控件綁定,直接輸出,使用方法如程序6-4.aspx。n2、另一種方法是利用循環(huán)將其數(shù)據(jù)取出 案例名稱:使用案例名稱:使用DataReader對象輸出數(shù)據(jù)對象輸出數(shù)據(jù)程序名稱:程序名稱:6-09.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();StringstrSQL=select*fromgrade;
31、OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataReaderdr=Comm.ExecuteReader();stringhtml=;html+=;html+=學(xué)號;html+=姓名;html+=數(shù)學(xué);html+=;try/讀出每一條記錄while(dr.Read()html+=;html+=+dr學(xué)號.ToString()+;html+=+dr姓名.ToString()+;html+=+dr數(shù)學(xué).ToString()+;html+=;html+=;finally/關(guān)閉鏈接dr.Close();Conn.Close();Respons
32、e.Write(html);DataAdapter對象 案例名稱:使用案例名稱:使用DataAdapter對象構(gòu)造方法執(zhí)行對象構(gòu)造方法執(zhí)行程序名稱:程序名稱:6-10.aspxprotectedvoidPage_Load(Objectsender,EventArgse)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);stringsql=select*fromgrade;Conn.Open();OleDbDataAdapt
33、erda=newOleDbDataAdapter(sql,Conn);/執(zhí)行SQLDataSetds=newDataSet();da.Fill(ds,grade);dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();使用使用DataAdapter對象的對象的SelectCommand屬性屬性 案例名稱:使用案例名稱:使用DataAdapter對象的對象的SelectCommand屬性屬性程序名稱:程序名稱:6-11.aspx voidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=n
34、ewOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);stringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataAdapterda=newOleDbDataAdapter();da.SelectCommand=Comm;Conn.Open();DataSetds=newDataSet();da.Fill(ds,grade);dg.DataSource=ds.
35、Tablesgrade.DefaultView;dg.DataBind();Conn.Close();案例名稱:使用案例名稱:使用DataAdapter對象的對象的InsertCommand屬性屬性程序名稱:程序名稱:6-12.aspx voidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);stringstrInsertSQL=INSERTINTOgrade
36、(學(xué)號,姓名,數(shù)學(xué))VALUES(111,蓋茨,59);stringstrSelectSQL=SELECT*FROMgradeWHERE學(xué)號=111;stringstrUpdateSQL=UPDATEgradeSET數(shù)學(xué)=60WHERE學(xué)號=111;/創(chuàng)建Command對象OleDbCommandInsertComm=newOleDbCommand(strInsertSQL,Conn);OleDbCommandSelectComm=newOleDbCommand(strSelectSQL,Conn);OleDbCommandUpdateComm=newOleDbCommand(strUpdat
37、eSQL,Conn);/創(chuàng)建DataAdapter對象daOleDbDataAdapterda=newOleDbDataAdapter();Conn.Open();da.SelectCommand=SelectComm;da.UpdateCommand=UpdateComm;da.InsertCommand=InsertComm;/創(chuàng)建并填充DataSetDataSetds=newDataSet();da.Fill(ds,grade1);da.InsertCommand.ExecuteNonQuery();da.Fill(ds,grade2);da.UpdateCommand.ExecuteN
38、onQuery();da.Fill(ds,grade3);/將DataSet綁定到DataGrid控件dg1.DataSource=ds.Tablesgrade1.DefaultView;dg2.DataSource=ds.Tablesgrade2.DefaultView;dg3.DataSource=ds.Tablesgrade3.DefaultView;dg1.DataBind(); dg2.DataBind(); dg3.DataBind();/關(guān)閉連接Conn.Close();DataGrid1:DataGrid2:DataGrid3: DataSet對象 nDataSet封裝在命名空
39、間“Syste.Data”中。DataSet中可以包含任意數(shù)量的DataTable(數(shù)據(jù)表),且每個DataTable對應(yīng)一個數(shù)據(jù)庫中的數(shù)據(jù)表和視圖。n通過DataAdapter的Fill方法,將表內(nèi)容填充到DataSet對象中,而且可以填充多個表。利用別名來區(qū)分。比如“da.Fill(ds,grade1);”的功能是將da對象中的數(shù)據(jù)填充到ds對象中,并起別名“grade1”,程序6-12.aspx說明了Fill方法的使用。 案例名稱:自動生成案例名稱:自動生成DataSet對象對象程序名稱:程序名稱:6-13.aspx voidPage_Load(Objectsender,EventArg
40、se)DataSetmyds=newDataSet();DataTablemydt=newDataTable(Squares);DataRowmydr;mydt.Columns.Add(newDataColumn(數(shù)字,typeof(Int32);mydt.Columns.Add(newDataColumn(平方,typeof(Int32);for(inti=0;i10;i+)mydr=mydt.NewRow();mydr0=i;mydr1=i*i;mydt.Rows.Add(mydr);myds.Tables.Add(mydt);dg.DataSource=myds.TablesSquare
41、s.DefaultView;dg.DataBind();操作操作DataSet對象對象案例名稱:操作案例名稱:操作DataSet對象對象程序名稱:程序名稱:6-14.aspx voidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);Conn.Open();stringstrSQL=select*fromgrade;OleDbDataAdapterda=newO
42、leDbDataAdapter(strSQL,Conn);DataSetds=newDataSet();da.Fill(ds,grade);DataTabledt=ds.Tablesgrade;DataRowrow=dt.NewRow();row學(xué)號=199;row姓名=小布什;row數(shù)學(xué)=58;dt.Rows.Add(row);OleDbCommandBuildercb=newOleDbCommandBuilder(da);da.Update(ds,grade);dg.DataSource=ds.Tablesgrade.DefaultView;dg.DataBind();Conn.Close
43、(); DataView對象 案例名稱:使用案例名稱:使用DataView對象對象程序名稱:程序名稱:6-15.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);StringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataAdapterd
44、a=newOleDbDataAdapter();da.SelectCommand=Comm;Conn.Open();DataSetds=newDataSet();da.Fill(ds,grade);DataViewdv=newDataView(ds.Tablesgrade);dv.RowFilter=數(shù)學(xué)60;dv.Sort=學(xué)號desc,數(shù)學(xué)DESC;Response.Write(滿足條件的記錄有:+dv.Count+條);dg.DataSource=dv;dg.DataBind();Conn.Close();使用使用DataView對象進行簡單查詢對象進行簡單查詢案例名稱:使用案例名稱:使
45、用DataView對象進行簡單查詢對象進行簡單查詢程序名稱:程序名稱:6-16.aspxvoidPage_Load(ObjectSrc,EventArgsE)OleDbConnectionConn=newOleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0;+DataSource=+Server.MapPath(person.mdb);StringstrSQL=select*fromgrade;OleDbCommandComm=newOleDbCommand(strSQL,Conn);OleDbDataAdapterda=newOleDbDataAd
46、apter();da.SelectCommand=Comm;Conn.Open();DataSetds=newDataSet();da.Fill(ds,grade);DataViewdv=newDataView(ds.Tablesgrade,姓名,DataViewRowState.CurrentRows);introwIndex=dv.Find(小張);if(rowIndex=-1)Response.Write(沒有找到!);elseResponse.Write(dvrowIndex姓名.ToString()+dvrowIndex數(shù)學(xué).ToString();/dg.DataSource=dv;dg.DataBind
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度版權(quán)授權(quán)使用合同(含授權(quán)范圍和費用支付)
- 2024年產(chǎn)品發(fā)布會合作合同
- 2024年廣州臨時工雇傭合同
- 2024年度短視頻內(nèi)容創(chuàng)作與版權(quán)交易合同
- 2024年工程吊籃長期租借協(xié)議
- 2024年度智能供應(yīng)鏈管理軟件購買合同
- 2024酒店用品采購合同模板
- 2024年農(nóng)民工建筑行業(yè)用工合同
- 2024【工程勞務(wù)分包合同范本】裝飾工程分包合同范本3
- 2024年度電力工程吊裝安全合同
- GB/T 10193-1997電子設(shè)備用壓敏電阻器第1部分:總規(guī)范
- 基于solidworks flow simulation油浸式變壓器散熱優(yōu)化分析
- CPK與CP詳細講解資料(課堂PPT)
- 光動力治療在氣道腫瘤中的臨床應(yīng)用課件
- 小學(xué)語文人教三年級上冊 群文閱讀《奇妙的中心句》
- 大數(shù)據(jù)和人工智能知識考試題庫600題(含答案)
- 2023年上海機場集團有限公司校園招聘筆試題庫及答案解析
- 鏡頭的角度和方位課件
- 污水處理常用藥劑簡介知識講解課件
- 五年級上冊英語課件-Unit 1《My future》第1課時牛津上海版(三起) (共28張PPT)
- 光交接箱施工規(guī)范方案
評論
0/150
提交評論