五.第二個例子--訪問遠程數據庫SQL Server 7.0
訪問SQL Server 7.0的程序代碼和訪問Acess 2000的程序代碼的主要區別有二點:
1. 選用的數據庫引擎不一樣。訪問SQL Server 7.0的指向數據庫的連接要用以下語句:
string strConnect = " Provider=SQLOLEDB.1 ; Persist Security Info=False ; User ID = sa ; Initial Catalog=xsgl ; Data Source = czdy1 " ;
其中"Initial Catalog"是要選用的數據庫名稱。"Data Source"是提供數據庫服務的服務器名稱。
2. 不要在導入System..Windows.Forms名稱空間
這是因為訪問的是遠程數據庫,不需要用到Application類了。
訪問遠程數據庫的程序源代碼--second.cs
using System ;
using System.Data.OleDb ;
// 導入程序中用的的所有名稱空間
class OleDbTest {
public static void Main ( )
{
string strConnect = " Provider=SQLOLEDB.1 ; Persist Security Info=False
; User ID = sa ; Initial Catalog=xsgl ; Data Source = czdy1 " ;
OleDbConnection aConnection = new OleDbConnection ( strConnect ) ;
// 建立指向數據庫的連接
OleDbCommand aCommand = new OleDbCommand ( "select * from xsk" ,
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 ) ;
file://如果出錯,輸出錯誤信息
}
}
}
六.總結
上面的二個例子表明,訪問遠程數據庫和訪問本地數據庫在原理上都是一樣的,主要的區別在於打開數據庫所需要的數據引擎,在程序設計中表現為打開指向數據庫的連接所需設定的引擎參數的不一樣。通過上面的二個例子,我想要再訪問其他類型的數據庫,就顯得不是那麼困難了。