Luben Park

          Java Ben 成長之路

          [轉].NET(C#)連接各類數據庫-集錦

          1.C#連接連接Access
          程序代碼:
          -------------------------------------------------------------------------------

          using System.Data;
          using System.Data.OleDb;

          ......

          string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
          strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb";

          OleDbConnection objConnection=new OleDbConnection(strConnection);

          ......

          objConnection.Open();
          objConnection.Close();

          ......

          --------------------------------------------------------------------------------

          解釋:

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

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

           "Provider=Microsoft.Jet.OleDb.4.0;"是指數據提供者,這里使用的是Microsoft Jet引擎,也就是Access中的數據引擎,asp.net就是靠這個和Access的數據庫連接的.

           "Data Source=C:\BegASPNET\Northwind.mdb"是指明數據源的位置,他的標準形式是"Data Source=MyDrive:MyPath\MyFile.MDB".

          PS:
           1."+="后面的"@"符號是防止將后面字符串中的"\"解析為轉義字符.
           2.如果要連接的數據庫文件和當前文件在同一個目錄下,還可以使用如下的方法連接:
            strConnection+="Data Source=";
            strConnection+=MapPath("Northwind.mdb");
            這樣就可以省得你寫一大堆東西了!
           3.要注意連接字符串中的參數之間要用分號來分隔.

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

           "objConnection.Open();"這用來打開連接.至此,與Access數據庫的連接完成.
          --------------------------------------------------------------------------------

          2.C#連接SQL Server
          程序代碼:
          --------------------------------------------------------------------------------

          using System.Data;
          using System.Data.SqlClient;

          ...

          string strConnection="user id=sa;password=;";
          strConnection+="initial catalog=Northwind;Server=YourSQLServer;";
          strConnection+="Connect Timeout=30";

          SqlConnection objConnection=new SqlConnection(strConnection);

          ...

          objConnection.Open();
          objConnection.Close();

          ...

          --------------------------------------------------------------------------------

          解釋:

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

          首先,連接SQL Server使用的命名空間不是"System.Data.OleDb",而是"System.Data.SqlClient".

          其次就是他的連接字符串了,我們一個一個參數來介紹(注意:參數間用分號分隔):
           "user id=sa":連接數據庫的驗證用戶名為sa.他還有一個別名"uid",所以這句我們還可以寫成"uid=sa".
           "password=":連接數據庫的驗證密碼為空.他的別名為"pwd",所以我們可以寫為"pwd=".
           這里注意,你的SQL Server必須已經設置了需要用戶名和密碼來登錄,否則不能用這樣的方式來登錄.如果你的SQL Server設置為Windows登錄,那么在這里就不需要使用"user id"和"password"這樣的方式來登錄,而需要使用"Trusted_Connection=SSPI"來進行登錄.
           "initial catalog=Northwind":使用的數據源為"Northwind"這個數據庫.他的別名為"Database",本句可以寫成"Database=Northwind".
           "Server=YourSQLServer":使用名為"YourSQLServer"的服務器.他的別名為"Data Source","Address","Addr".如果使用的是本地數據庫且定義了實例名,則可以寫為"Server=(local)\實例名";如果是遠程服務器,則將"(local)"替換為遠程服務器的名稱或IP地址.
           "Connect Timeout=30":連接超時時間為30秒.

           在這里,建立連接對象用的構造函數為:SqlConnection.
          --------------------------------------------------------------------------------

          3.C#連接Oracle
          程序代碼:
          --------------------------------------------------------------------------------

          using System.Data.OracleClient;
          using System.Data;

          //在窗體上添加一個按鈕,叫Button1,雙擊Button1,輸入以下代碼
          private void Button1_Click(object sender, System.EventArgs e)
          {
          string ConnectionString="Data Source=sky;user=system;password=manager;";//寫連接串
          OracleConnection conn=new OracleConnection(ConnectionString);//創建一個新連接
          try
          {
          conn.Open();
          OracleCommand cmd=conn.CreateCommand();

          cmd.CommandText="select * from MyTable";//在這兒寫sql語句
          OracleDataReader odr=cmd.ExecuteReader();//創建一個OracleDateReader對象
          while(odr.Read())//讀取數據,如果odr.Read()返回為false的話,就說明到記錄集的尾部了???????????????
          {
          Response.Write(odr.GetOracleString(1).ToString());//輸出字段1,這個數是字段索引,具體怎么使用字段名還有待研究
          }
          odr.Close();
          }
          catch(Exception ee)
          {
          Response.Write(ee.Message); //如果有錯誤,輸出錯誤信息
          }
          finally
          {
          conn.Close(); //關閉連接
          }
          }

          --------------------------------------------------------------------------------

          4.C#連接MySQL
          程序代碼:
          --------------------------------------------------------------------------------

          using MySQLDriverCS;

          // 建立數據庫連接
          MySQLConnection DBConn;
          DBConn = new MySQLConnection(new MySQLConnectionString("localhost","mysql","root","",3306).AsString);
          DBConn.Open();

          // 執行查詢語句
          MySQLCommand DBComm;
          DBComm = new MySQLCommand("select Host,User from user",DBConn);

          // 讀取數據
          MySQLDataReader DBReader = DBComm.ExecuteReaderEx();

          // 顯示數據
          try
          {
          while (DBReader.Read())
          {
          Console.WriteLine("Host = {0} and User = {1}", DBReader.GetString(0),DBReader.GetString(1));
          }
          }
          finally
          {
          DBReader.Close();
          DBConn.Close();
          }

          //關閉數據庫連接
          DBConn.Close();

          --------------------------------------------------------------------------------

          5.C#連接IBM DB2
          程序代碼:
          --------------------------------------------------------------------------------

          OleDbConnection1.Open();
          //打開數據庫連接
          OleDbDataAdapter1.Fill(dataSet1,"Address");
          //將得來的數據填入dataSet
          DataGrid1.DataBind();
          //綁定數據
          OleDbConnection1.Close();
          //關閉連接

          //增加數據庫數據
          在Web Form上新增對應字段數量個數的TextBox,及一個button,為該按鍵增加Click響應事件代碼如下:

          this.OleDbInsertCommand1.CommandText = "INSERTsintosADDRESS(NAME,
          EMAIL, AGE, ADDRESS) VALUES
          ('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"')";
          OleDbInsertCommand1.Connection.Open();
          //打開連接
          OleDbInsertCommand1.ExecuteNonQuery();
          //執行該SQL語句
          OleDbInsertCommand1.Connection.Close();
          //關閉連接

          --------------------------------------------------------------------------------

          6.C#連接SyBase
          程序代碼: (OleDb)
          --------------------------------------------------------------------------------

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

          posted on 2006-04-05 14:07 Ben 閱讀(310) 評論(0)  編輯  收藏 所屬分類: DotNet

          主站蜘蛛池模板: 赤壁市| 新闻| 阳城县| 疏勒县| 湘乡市| 禄劝| 福贡县| 加查县| 永胜县| 寿宁县| 勃利县| 昆明市| 上栗县| 东海县| 莎车县| 于都县| 镇宁| 含山县| 仪陇县| 乌拉特中旗| 丹棱县| 墨玉县| 无为县| 云梦县| 洛扎县| 栾城县| 平乡县| 南京市| 章丘市| 义马市| 寿光市| 武鸣县| 开封县| 宜黄县| 三明市| 舟曲县| 梓潼县| 丹阳市| 维西| 龙州县| 深泽县|