(4). 打開數據連接,執行SQL語句,返回所需的數據集
要完成此項操作,需用到OleDbConnection類中的Open方法,和OleDbCommand類中的ExecuteReader方法。返回的數據集要用的System.Data.OleDb名稱空間中的另一個類--OleDbDataReader。這個類就像是一個容器,提供要訪問的數據集。主要語句如下:
aConnection.Open ( ) ;
OleDbDataReader aReader = aCommand.ExecuteReader ( ) ;
(5).關閉數據集,關閉數據連接
要關閉數據集要用到OleDbDataReader類中的Close方法,要關閉數據連接要用到OleDbConnection類中的Close方法。注意,最好先關閉返回的數據集,再關閉指向數據庫的連接。具體程序如下:
aReader.Close ( ) ;
aConnection.Close ( ) ;
(6).在程序中,還設計了一個例外處理。在出現例外的時候,顯示錯誤信息。錯誤信息的捕獲是通過System.Data.OleDb名稱空間中的類--OleDbException來實現的。具體如下:
try
{
…….
}
catch ( OleDbException e )
{
Console.WriteLine ( "錯誤類型:", e.Errors[0].Message ) ;
}
first.cs 的程序源代碼如下:
using System ;
using System.Data.OleDb ;
using System.Windows.Forms ;
// 導入程序中用的的所有名稱空間
class OleDbTest {
public static void Main ( )
{
string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + "\\my.mdb" ;
OleDbConnection aConnection = new OleDbConnection ( strConnect ) ;
// 建立指向數據庫的連接
OleDbCommand aCommand = new OleDbCommand ( "select * from Persons" ,
aConnection ) ;
// 設計所需要返回的數據集的內容
try {
aConnection.Open ( ) ;
// 打開指向數據庫連接
OleDbDataReader aReader = aCommand.ExecuteReader ( ) ;
// 返回需要的數據集內容
Console.WriteLine ( "以下就是打開後的數據集的一個字段的所有內容!" ) ;
while ( aReader.Read ( ) ) {
Console.WriteLine ( aReader.GetString (0) ) ;
}
// 屏幕輸出數據集的第一個字段的所有內容,如果要第二個字段把"0"改為"1"
aReader.Close ( ) ;
// 關閉數據集
aConnection.Close ( ) ;
// 關閉指向數據庫的連接
}
catch ( OleDbException e )
{
Console.WriteLine ( "錯誤類型:", e.Errors[0].Message ) ;
// 如果出錯,輸出錯誤信息
}
}
}