C 連線資料庫的一些鮮為人知的方法

2021-04-28 12:17:57 字數 2492 閱讀 5411

用過

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左右)就可以了。而且不用去附加資料庫

…但是這種優點也帶來致命的缺點,就是第一次連線資料庫的時候會有點慢,這不要緊,但它會重新格式資料庫檔案的一些結構,導致一些資料格式發生變化,因此連線之後這樣的資料庫檔案是不能再次被附加到資料庫系統中的(會報錯)。也就是說後期如果要修改資料庫,比如增加欄位和表等是不太可能實現的。

不過這也在一定的程度上帶來了安全性。

以上這兩種資料庫連線方式各有千秋,是否要使用就看你的系統實際應用需求了

C 連線資料庫的一些鮮為人知的方法

用過 vs2005 和vs2008 的開發人員肯定知道在安裝這個 ide的時候會自動安裝了乙個精簡版的 sql資料庫服務 sqlexpress 這個資料庫系統少了最重要的企業管理器,也就是說不能用它來建資料表和一些視覺化操作。如果碰到專案中要用到 sql資料庫的時候也不能附加到資料庫服務裡面去,導致...

一些有趣且鮮為人知的 Python 特性

github 上有個非常有意思的倉庫 what the f ck python 作者收集了很多有趣且鮮為人知的 python 特性 這個有趣的專案意在收集 python 中那些難以理解和 直覺的例子,並嘗試討論這些現象背後真正的原理!而所有的一切,其實都是 cpython 內部實現中利弊之間的的權衡...

一些鮮為人知卻非常實用的資料結構

原文 作為程式猿 媛 你必須熟知一些常見的資料結構,比如棧 佇列 字串 鍊錶 二叉樹 雜湊,但是除了這些常見的資料結構以外,還有沒有其他不是很有名,但卻非常實用的資料結構呢,有人在 stackoverflow 上問了這樣乙個問題,得到了很多熱心觀眾的回答,我們今天就來看看那些鮮為人知卻非常實用的資料...