NET(C#)連接各類資料庫-集錦

来源:https://www.cnblogs.com/whitetiger/archive/2018/05/10/9019859.html
-Advertisement-
Play Games

1.C#連接連接Access 2.C#連接SQL Server 3.C#連接Oracle 4.C#連接MySQL 5.C#連接IBM DB2 6.C#連接SyBase 7.C#連接FireBird 8.C#連接Interbase ...


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

using System.Data;
using System.Data.OleDb;
..
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:BegASPNETNorthwind.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".
也可以這樣寫地址System.Web.HttpContext.Current.Server.MapPath("data/database.mdb");

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

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

 "objConnection.Open();"這用來打開連接.至此,與Access資料庫的連接完成.
如果帶密碼了:
string   ConnString   ="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   Application.StartupPath+   @"\資料庫.mdb;Persist   Security   Info=False;Jet   OLEDB:USERID=你的名字;Database   Password=你的密碼";
--------------------------------------------------------------------------------
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; 

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

7.C#連接 FireBird
程式代碼: (FbConnection)

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

            FbConnectionStringBuilder sb = new FbConnectionStringBuilder();
            sb.ServerType = FbServerType.Default;
            //SYSDBA
            sb.UserID = "SYSDBA";
            //masterkey
            sb.Password = "masterkey";
            sb.Database = "F:\\Data\\TESTDB.FDB";
            //sb.Charset = "GB_2312";
            FbConnection connection1 = new FbConnection(sb.ToString());
        
            connection1.Open();

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

8.C#連接Interbase
程式代碼: (OleDb)
--------------------------------------------------------------------------------

OleDbConnectionStringBuilder cb = new OleDbConnectionStringBuilder();
            cb.Provider = "LCPI.IBProvider";
            cb.Add("Location", @"192.168.1.208:e:\keyu.gdb");
            cb.Add("User ID", "sysdba");
            cb.Add("Password", "masterkey");
            cb.Add("ctype", "win1251");

            label1.Text = cb.ToString();


            OleDbConnection con = new OleDbConnection(cb.ToString());
            con.Open();
            OleDbTransaction trans = con.BeginTransaction();

            OleDbCommand cmd = new OleDbCommand("select count(*) from tablename", con, trans);

            label2.Text = string.Format("共{0}條數據", cmd.ExecuteScalar().ToString());
            trans.Commit();
            con.Close();

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第二章 簡單的c#程式 1.註釋 2.命名空間 3.類 4.Main方法 5.標識符及關鍵字 6.c#語句 7.命名規範 自拍視頻:百度雲盤:https://pan.baidu.com/s/1D-r7sdtPkZf7_B2WfN8z1Q 密碼:1xrs 課堂筆記:百度雲盤:https://pan.b ...
  • GC的前世與今生 雖然本文是以.net作為目標來講述GC,但是GC的概念並非才誕生不久。早在1958年,由鼎鼎大名的圖林獎得主John McCarthy所實現的Lisp語言就已經提供了GC的功能,這是GC的第一次出現。Lisp的程式員認為記憶體管理太重要了,所以不能由程式員自己來管理。但後來的日子里L ...
  • 本文參考自:https://blog.csdn.net/mss359681091/article/details/52078147 本文所有需要用到的文件下載包含項目: Lucene配置文件下載 本文項目下載Zip 用vs2015創建Windows窗體應用程式,創建好項目時記得將其屬性改為“控制台應 ...
  • 最近需要用到按位元組數截取字元串。在網上找了很多方法。 Encoding.Default.GetString採用的DefaultEncoding.UTF8.GetBytes採用的是utf-8編碼。這樣當然是亂碼。尤其出現中文時候。對這類數據處理當然要用統一的編碼來處理。 例子:1 string msg ...
  • Ctrl+E,D: 格式化全部代碼 Ctrl+E,C / Ctrl+K,C: 註釋選定內容 Ctrl+E,U / Ctrl+K,U: 取消選定註釋內容 Ctrl+E,S: 查看空白 Ctrl+E,W: 自動換行 CTRL + SHIFT + B生成解決方案 CTRL + F7 生成編譯 CTRL + ...
  • NumberValidators是一個用於驗證中國大陸證件、號碼是否符合國家標準的類庫,因為該類庫在昨日已經正式發佈1.0.0版本至nuget,所以在此介紹下該類庫的具體功能。 NumberValidators的github地址為:https://github.com/fdstar/NumberVa ...
  • 對於ASP.NET Core開發,不管是MVC,還是Web API,Taurus.MVC 為你提供另一種開發選擇,正式發佈,應該在下周。 ...
  • using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;using System.IO; ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...