程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 在Visual C#中訪問不同數據庫

在Visual C#中訪問不同數據庫

編輯:C#基礎知識

  Visual C#作是微軟極力推薦的下一代程序開發語言,他有一個非常重要伴侶--.Net Framework SDK,在他的裡面封裝了許多Class Library (類庫)。Visual C#要實現很多拓展功能,就必須借助於他的這個伴侶。在Visual C#中對數據庫的處理是其功能的一個重要表現。Visual C#在進行數據庫處理的時候,經常用到.Net FrameWork SDK中的一個名稱空間 是 System.Data.Oledb。在這個名稱空間中封裝了許多和數據庫處理的相關Class(類)。本文就是通過二個具體的實例來說明在Visual C#如何實現對數據庫的訪問。

  一.程序設計和運行環境是:

  微軟公司視窗2000 專業版,.Net FrameWork SDK BETA 2 ,Microsoft Access Data Component 2.6 ( MADC2.6 )

  二. 程序主要作用

  本文中主要有二個源代碼,其一說明如何在Visual C#中對訪問數據庫,本地數據庫選擇的是微軟公司的Acess 2000;其二說明如何在Visual C#中對訪問數據庫,遠程數據庫選擇的是微軟公司的產品--SQL Server 7.0。

  三.例子設計過程中的思路

  (1).首先要導入名稱空間

  (2).建立指向數據庫的數據連接

  (3).在此數據連接上,建立一個SQL語句,用來返回所需用的數據集

  (4).打開數據連接,執行SQL語句,返回所需的數據集

  (5).關閉數據集,關閉數據連接

  四.第一個例子first.cs -- 打開本地數據庫(my.mdb )

  程序中的重要步驟:

  (1).導入名稱空間空間

  在本例子中要導入三個名稱空間,分別是:System、System.Data.OleDb、System.Windows.Forms。導入System名稱空間是因為程序中用到其中的Console類。導入System.Windows.Forms名稱空間是因為程序中用到其中的Application類。

  (2).建立指向數據庫的連接

  建立連接要用到System.Data.OleDb名稱空間中的類--OleDbConnection。通過以下語句可以完成對本地數據庫的連接工作:

  

string strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
           Application.StartupPath + "\\my.mdb" ;
OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; 

  其中第一句中的"Provider"是表明數據庫引擎的類型。"Data Source"是指向的數據庫名稱。

  (3).在此數據連接上,建立一個SQL語句,用來返回所需用的數據集

  建立SQL語句來得到數據集,要用到System.Data.OleDb名稱空間中的類--OleDbCommand。通過以下語句可完成此項工作。

  

OleDbConnection aConnection = new OleDbConnection ( strConnect ) ; 

  (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 ) ;
  // 如果出錯,輸出錯誤信息
}
}
} 

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved