熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#連接各類數據庫的方法集合

2022-06-13   來源: .NET編程 

  本文列出了C#連接AccessSQL ServerOracleMySQLDB和SyBase六種不同數據庫的程序源碼和需要注意的點
C#連接Access

  程序代碼

  using SystemData;

  using SystemDataOleDb;

  string strConnection=Provider=MicrosoftJetOleDb;;

  strConnection+=@DataSource=C:\BegASPNET\Northwindmdb;

  OleDbConnection objConnection=new OleDbConnection(strConnection);
    objConnectionOpen();
    objConnectionClose();

  解釋

  連接Access數據庫需要導入額外的命名空間所以有了最前面的兩條using命令這是必不可少的!

  strConnection這個變量裡存放的是連接數據庫所需要的連接字符串他指定了要使用的數據提供者和要使用的數據源

  Provider=MicrosoftJetOleDb;是指數據提供者這裡使用的是Microsoft Jet引擎也就是Access中的數據引擎就是靠這個和Access的數據庫連接的
    Data Source=C:\BegASPNET\Northwindmdb是指明數據源的位置他的標准形式是Data Source=MyDrive:MyPath\MyFileMDB

  PS

  +=後面的@符號是防止將後面字符串中的\解析為轉義字符

  如果要連接的數據庫文件和當前文件在同一個目錄下還可以使用如下的方法連接

  strConnection+=Data Source=;strConnection+=MapPath(Northwindmdb);

  要注意連接字符串中的參數之間要用分號來分隔

  OleDbConnection objConnection=new OleDbConnection(strConnection);這一句是利用定義好的連接字符串來建立了一個鏈接對象以後對數據庫的操作我們都要和這個對象打交道

  objConnectionOpen();這用來打開連接至此與Access數據庫的連接完成

  C#連接SQL Server
    程序代碼

  using SystemData;

  using SystemDataSqlClient;

  string strConnection=user id=sa;password=;;

  strConnection+=initial catalog=Northwind;Server=YourSQLServer;;

  strConnection+=Connect Timeout=;
    SqlConnection objConnection=new SqlConnection(strConnection);

  objConnectionOpen();

  objConnectionClose();

  解釋

  連接SQL Server數據庫的機制與連接Access的機制沒有什麼太大的區別只是改變了Connection對象和連接字符串中的不同參數

  首先連接SQL Server使用的命名空間不是SystemDataOleDb而是SystemDataSqlClient

  其次就是他的連接字符串了我們一個一個參數來介紹(注意參數間用分號分隔)

  user id=sa連接數據庫的驗證用戶名為sa他還有一個別名uid所以這句我們還可以寫成uid=sa 

  password=連接數據庫的驗證密碼為空他的別名為pwd所以我們可以寫為pwd=

  這裡注意你的SQL Server必須已經設置了需要用戶名和密碼來登錄否則不能用這樣的方式來登錄如果你的SQL Server設置為Windows登錄那麼在這裡就不需要使用user idpassword這樣的方式來登錄而需要使用Trusted_Connection=SSPI來進行登錄

  initial catalog=Northwind使用的數據源為Northwind這個數據庫他的別名為Database本句可以寫成Database=Northwind

  Server=YourSQLServer使用名為YourSQLServer的服務器他的別名為Data SourceAddressAddr如果使用的是本地數據庫且定義了實例名則可以寫為Server=(local)\實例名;如果是遠程服務器則將(local)替換為遠程服務器的名稱或IP地址
    Connect Timeout=連接超時時間為

  在這裡建立連接對象用的構造函數為SqlConnection

  C#連接Oracle
    程序代碼

  using SystemDataOracleClient;using SystemData;//在窗體上添加一個按鈕叫Button雙擊Button輸入以下代碼private void Button_Click(object sender SystemEventArgs e){string ConnectionString=Data Source=sky;user=system;password=manager;;//寫連接串OracleConnection conn=new OracleConnection(ConnectionString);//創建一個新連接try{connOpen();OracleCommand cmd=connCreateCommand();cmdCommandText=select * from MyTable;//在這兒寫sql語句OracleDataReader odr=cmdExecuteReader();//創建一個OracleDateReader對象while(odrRead())//讀取數據如果odrRead()返回為false的話就說明到記錄集的尾部了 {ResponseWrite(odrGetOracleString()ToString());//輸出字段這個數是字段索引具體怎麼使用字段名還有待研究}odrClose();}catch(Exception ee){ResponseWrite(eeMessage); //如果有錯誤輸出錯誤信息}finally{connClose(); //關閉連接}}

  C#連接MySQL

  程序代碼

  using MySQLDriverCS; // 建立數據庫連接MySQLConnection DBConn;DBConn = new MySQLConnection(new MySQLConnectionString(localhostmysqlroot)AsString);DBConnOpen(); // 執行查詢語句MySQLCommand DBComm;DBComm = new MySQLCommand(select HostUser from userDBConn); // 讀取數據MySQLDataReader DBReader = DBCommExecuteReaderEx(); // 顯示數據try{while (DBReaderRead()){ConsoleWriteLine(Host = {} and User = {} DBReaderGetString()DBReaderGetString());}}finally{DBReaderClose();DBConnClose();} //關閉數據庫連接DBConnClose();

  C#連接IBM DB

  程序代碼

  OleDbConnectionOpen();//打開數據庫連接OleDbDataAdapterFill(dataSetAddress);//將得來的數據填入dataSetDataGridDataBind();//綁定數據OleDbConnectionClose();//關閉連接 //增加數據庫數據在Web Form上新增對應字段數量個數的TextBox及一個button為該按鍵增加Click響應事件代碼如下thisOleDbInsertCommandCommandText = INSERTsintosADDRESS(NAMEEMAIL AGE ADDRESS) VALUES(+TextBoxText++TextBoxText++TextBoxText++TextBoxText+);OleDbInsertCommandConnectionOpen();//打開連接OleDbInsertCommandExecuteNonQuery();//執行該SQL語句OleDbInsertCommandConnectionClose();//關閉連接

  C#連接SyBase

  程序代碼

  Provider=SybaseASEOLEDBProvider;Initial Catalog=數據庫名;User ID=用戶名;Data Source=數據源;Extended Properties=;Server Name=ip地址;Network Protocol=Winsock;Server Port Address=;


From:http://tw.wingwit.com/Article/program/net/201311/13346.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.