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

C#連接數據庫特殊方法兩則

2013-11-13 12:13:05  來源: .NET編程 

  用過VS和VS的開發人員肯定知道在安裝這個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);
//通過系統用戶驗證連接數據庫
conOpen();
SqlDataAdapter thisadapter = new SqlDataAdapter
(select * from reader where 條形碼= + txm + con);
SqlCommandBuilder thisbuilder = new SqlCommandBuilder(thisadapter);
DataSet thisdataset = new DataSet();
thisadapterFill(thisdataset reader);
…… //接下去就是對數據的操作了

   這種方法必須要附加數據庫文件才可以訪問…

  優點是可以通過企業管理器直接對數據庫進行可視化操作比如對記錄進行全權修改…萬一碰到數據有錯誤在系統裡面不好修改的時候可以進行強制維護同時如果後期更新系統增加新的數據庫需求比如增加字段就可以在裡面操作

  當然這也算是缺點亂改數據可能導致破壞數據庫的一些規則和數據一致性嚴重的話會導致災難性的數據崩潰

  方法二

  連接代碼

SqlConnectionStringBuilder connectstringbuilder =
new SqlConnectionStringBuilder();
connectstringbuilderDataSource = @(local)\sqlexpress;
//指定數據庫服務
connectstringbuilderAttachDBFilename=@|DataDirectory|\data\librarymdf;
//數據庫文件采用相對地址的方式來指定注意格式
connectstringbuilderIntegratedSecurity = true;  
connectstringbuilderUserInstance = true;
SqlConnection thisconnection =
new SqlConnection(connectstringbuilderConnectionString);
SqlDataAdapter thisadapter =
new SqlDataAdapter
(select * from reader where 條形碼= +txm + thisconnection);
DataSet dt = new DataSet();
thisadapterFill(dt info);
……//接下去就是對數據的操作了

   這個方法最大的有點就是允許我們不用安裝M(MSSQL)或者G(MSSQL)的數據庫系統只需要安裝SQL精簡版的數據庫服務(M左右)就可以了而且不用去附加數據庫…

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

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

  以上這兩種數據庫連接方式各有千秋是否要使用就看你的系統實際應用需求了…

  (注這兩種方法在VS+MSSQL調試通過…)


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