對C#中ADO.NET開發的理解

來源:互聯網
上載者:User

    好久米寫東西了,開學前再寫一篇。最近老是在搗鼓資料庫,一個寒假也沒搞什麼,就寫成了一個紀念日提醒器和一個個人收支管理程式。
    新接觸C#的ADO.NET,遇到不少困難。開學前整理下,希望對大家有協助。
    首先一個是資料庫的連結,我用的是ACCESS 2007(VISTA下SQL SERVER比較難搭建),手頭還沒有什麼書介紹ACCESS 2007的連接字串,網上找了很久(最後才知道到資料來源裡能找到的 =_=||),這裡提供給大家(一般的串連輸入這些就夠了,如果要個密碼或者進階點的串連就到完整字串中截取吧):
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=××.accdb;
    [完整的ACCESS 2007連接字串展開下面查看]

Code
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:Documents and Settings chengeMy Documents資料庫1.accdb;Mode=Share Deny Read|Share Deny Write; Extended Properties="";Jet OLEDB:System database=C:Documents and SettingschengeApplication DataMicrosoftAccessSystem.mdw;Jet OLEDB:Registry Path=SoftwareMicrosoftOffice12.0AccessAccess Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True

    需要注意的是如果別人的機器沒有裝ACCESS 2007,那麼程式會拋出一個異常,說是沒有能夠找到ACE.OLEDB.12.0的資料庫驅動。我在XP下調試的結果就是:XP在預設情況(即使裝了ACCESS 2003)也沒有辦法是用2007版的資料庫。所以如果你的程式想在XP上啟動並執行話,最好還是做個MDB的資料庫,用以前Microsoft Jet 4.0 OLEDB的資料庫引擎來訪問吧。
    其次要注意的是C#在寫SQL語句的時候多個匹配究竟用'*'還是用'%'。我們知道在ACCESS的正則中多個匹配應該是'*',但為什麼我用OledbCommand沒有辦法執行呢?原因是在C#中編寫的應該是SQL SERVER的文法,也就是說應該用'%',你的C#程式在編譯時間會自動將SQL語句轉換為適合ACCESS的SQL語句。也就說,很多SQL SERVER支援的但ACCESS不支援的語句在編寫時是不會報錯的,但是一旦運行,就會出現問題。
    還有就是建立表和索引的問題。以前學習的時候都是用MSSQL的,而且多用語句來執行。這次用ACCESS 2007的GUI模式還真是不習慣,這裡給大家個建議,還是用命令建立比較好。順便給大家推薦個資料庫SQL-Lite。單從資料庫能力來講要比ACCESS強大(開源的,強大的),但也因為開源,資料庫沒有提供密碼功能(但還是因為開源,網上能找到加密模組)。
    最後要提醒大家的是:C#中的Calendar控制項在不同的機器中顯示起來是不一樣的,-_-||,他會根據你.NET的版本的不同而不同(可別以為都是.NET 2.0就都一樣了,你在安裝安裝.NET時選擇的語言不通顯示的結果都是不同的),有空的兄弟可以在虛擬機器下試試,我就是因為VISTA和XP下介面不一樣最後不得不重改介面……。

    寒假這個禮拜就要結束了,把寒假學的東西小小的總結了下,文章的結尾把寒假的兩個作品發上來晾晾,需要的朋友可以留下E-MAIL,這裡就不提供源碼了(放在這裡怕丟人啊)。


 

          代碼:

          SkyDrive:http://cid-856b7a1fbf560755.skydrive.live.com/browse.aspx/My%20free%20softwares/FinancialStatistics

          一個是資料庫,一個是原始碼。兩個檔案都是rar壓縮檔。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.