C#連線資料庫的一些鮮為人知的方法
用過VS2005和VS2008的開發人員肯定知道在安裝這個IDE的時候會自動安裝了一個精簡版的SQL資料庫服務SqlExpress,這個資料庫系統少了最重要的企業管理器,也就是說不能用它來建資料表和一些視覺化操作。如果碰到專案中要用到SQL資料庫的時候也不能附加到資料庫服務裡面去,導致專案在連線資料庫的時候會提示找不到資料庫檔案而讀取失敗。那麼,這個精簡版的SQL資料庫服務是不是意味著一無是處呢?
其實未必,只要我們在連線資料庫的時候利用好它就可以了~~
在這裡我介紹兩種C#中連線資料庫的方法。一種需要附加資料庫,一種則不要,只需要安裝這個精簡版的SQL就可以了…
方法一:
連線程式碼:
string strconn;
strconn = "Data Source=(local);";
strconn += "Initial Catalog=student;";
strconn += "User ID=sa;";
strconn += "Password=;";
SqlConnection con = new SqlConnection(strconn); //通過使用者名稱和密碼連線資料庫
//SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=library;Integrated Security=True"); //通過系統使用者驗證連線資料庫
con.Open();
SqlDataAdapter thisadapter = new SqlDataAdapter("select * from reader where 條形碼='" + txm + "'", con);
SqlCommandBuilder thisbuilder = new SqlCommandBuilder(thisadapter);
DataSet thisdataset = new DataSet();
thisadapter.Fill(thisdataset, "reader");
…… //接下去就是對資料的操作了
這種方法必須要附加資料庫檔案才可以訪問…
優點是可以通過企業管理器直接對資料庫進行視覺化操作,比如對記錄進行全權修改…萬一碰到資料有錯誤,在系統裡面不好修改的時候可以進行強制維護。同時,如果後期更新系統,增加新的資料庫需求,比如增加欄位就可以在裡面操作。
當然這也算是缺點,亂改資料可能導致破壞資料庫的一些規則和資料一致性,嚴重的話會導致災難性的資料崩潰。
方法二:
連線程式碼:
SqlConnectionStringBuilder connectstringbuilder = new SqlConnectionStringBuilder();
connectstringbuilder.DataSource = @"(local)\sqlexpress"; //指定資料庫服務
connectstringbuilder.AttachDBFilename = @"|DataDirectory|\data\library.mdf"; //資料庫檔案,採用相對地址的方式來指定。注意格式
connectstringbuilder.IntegratedSecurity = true;
connectstringbuilder.UserInstance = true;
SqlConnection thisconnection = new SqlConnection(connectstringbuilder.ConnectionString);
SqlDataAdapter thisadapter = new SqlDataAdapter("select * from reader where 條形碼='" + txm + "'", thisconnection);
DataSet dt = new DataSet();
thisadapter.Fill(dt, "info");
…… //接下去就是對資料的操作了
這個方法最大的有點就是允許我們不用安裝600M(MSSQL2000)或者1G(MSSQL2005)的資料庫系統,只需要安裝SQL精簡版的資料庫服務(22M左右)就可以了。而且不用去附加資料庫…
但是這種優點也帶來致命的缺點,就是第一次連線資料庫的時候會有點慢,這不要緊,但它會重新格式資料庫檔案的一些結構,導致一些資料格式發生變化,因此連線之後這樣的資料庫檔案是不能再次被附加到資料庫系統中的(會報錯)。也就是說後期如果要修改資料庫,比如增加欄位和表等是不太可能實現的。
不過這也在一定的程度上帶來了安全性。
以上這兩種資料庫連線方式各有千秋,是否要使用就看你的系統實際應用需求了…
(注:這兩種方法在VS2005+MSSQL除錯通過…)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-548880/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯] 鮮為人知的資料科學 Python 庫資料科學Python
- C#連線資料庫C#資料庫
- 用c#建立與資料庫的連線 c#連sqlserverC#資料庫SQLServer
- 連線別人的MySql資料庫MySql資料庫
- 鮮為人知的JavaScript功能JavaScript
- 使用C#連線資料庫C#資料庫
- PHP中的資料庫連線方法PHP資料庫
- 鮮為人知的 Python 語法Python
- 鮮為人知的 PostgreSQL 特性 - hakibenitaSQL
- c#連線SQL Server資料庫C#SQLServer資料庫
- sqlplus連線資料庫的幾種方法SQL資料庫
- 【PG資料庫】PG資料庫的安裝及連線方法資料庫
- Python:鮮為人知的功能特性(下)Python
- 有趣且鮮為人知的 Python “特性”Python
- Python:鮮為人知的功能特性(上)Python
- 鮮為人知的python位運算Python
- 中老年人群鮮為人知的六個性行為統計資料
- 這9個鮮為人知的Python庫,你用過幾個?Python
- 資料庫的連線數資料庫
- 一份鮮為人知的Python特性Python
- JDBC連線MySQL資料庫的方法和例項JDBCMySql資料庫
- C#連線MySQL8.0資料庫失敗C#MySql資料庫
- C# 連線多種資料庫元件,類庫專案C#資料庫元件
- 資料庫連線錯誤的原因及解決方法資料庫
- 資料庫連線失敗的原因及解決方法資料庫
- 推薦六個鮮為人知的 Composer 命令
- 十個鮮為人知的Linux命令 - Part 5Linux
- 資料庫與python的連線資料庫Python
- 資料庫的連線過程資料庫
- 為什麼我的 PHP 資料庫連線失敗?PHP資料庫
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- Oracle RMAN 連線資料庫認證方法Oracle資料庫
- django2.2版本連線mysql資料庫的方法DjangoMySql資料庫
- KIDataGrip連線Mysql並建立資料庫的方法實現ztpMySql資料庫
- 解決無法連線SQL Server資料庫的方法BWSQLServer資料庫
- 連線資料庫資料庫
- 鮮為人知的軟體專案管理原則專案管理
- SQL Server 2012鮮為人知的兩個功能MOSQLServer
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫