Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
注一下受益匪淺。↑↑↑↑↑↑↑
以前就聽說過C#可以通過ODBC進行連接其他類型數(shù)據(jù)庫,一直也沒怎么研究。最近啊,小編一次偶然的機會,迫使不得不去使用Access數(shù)據(jù)庫進行開發(fā)。當然,數(shù)據(jù)庫操作其實一通百通,也沒算費多少力氣。這里寫一下總結(jié)一下,希望可以幫助對C#操作Access數(shù)據(jù)庫,有需求的朋友。
當然文章有什么問題,請及時指正。一起交流探討。
對于C#基礎不太熟悉的朋友,請點擊→Windows桌面軟件開發(fā)-Win桌面客戶端開發(fā)神器 第二課
Access隸屬于Office辦公套裝,所以我們只需要下載office進行安裝就可以把Access安裝上了。
下載地址:http://www.8z5.net/tools/develop/103.html
下載完畢,雙擊直接安裝即可。安裝完畢即可在開始菜單找到Access數(shù)據(jù)庫:
安裝十分簡單,作為程序員的你,必定完美安裝。
打開Access數(shù)據(jù)庫,選擇空數(shù)據(jù)庫,輸入創(chuàng)建的路徑和文件名,直接進行創(chuàng)建數(shù)據(jù)庫即可:
創(chuàng)建表并初始化數(shù)據(jù)
輸入表各字段保存即可,如圖:
連接AccessDemo
數(shù)據(jù)庫創(chuàng)建成功,下面以Winform為例做鏈接Access數(shù)據(jù)庫操作:
創(chuàng)建Winform項目,并添加DataGridView控件用以顯示數(shù)據(jù)
連接字符串
private static string connStr=@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Student.accdb;Persist Security Info=False";
這個字符串也就要求,Access數(shù)據(jù)庫文件需要和可執(zhí)行文件在同一個目錄
數(shù)據(jù)庫常用方法封裝
我把數(shù)據(jù)庫的幾個常用的增刪改差進行封裝,以方便使用:
Access數(shù)據(jù)庫是通過OleDbConnection進行連接,OleDbCommand執(zhí)行Sql命令或者存儲結(jié)構(gòu)的。
ExecuteNonQuery方法封裝:(主要用戶增刪改)
ExecuteScalar方法封裝:(用戶查詢第一行第一列)
ExecuteDataReader方法封裝(讀取數(shù)據(jù)):
為了方便對數(shù)據(jù)庫數(shù)據(jù)的操作,利用面向?qū)ο蟮乃枷?,?chuàng)建數(shù)據(jù)庫對應Model類:
執(zhí)行ExecuteDataReader方法,獲取所有數(shù)據(jù)顯示到DataGridView:
以上算是連接操作數(shù)據(jù)庫的讀取的形式。如想進行增刪改的其他操作,請直接調(diào)用對應的方法即可。
下面再介紹一個數(shù)據(jù)源配置的方式:
首先需要進行數(shù)據(jù)源配置:
【控制面板】-【小圖標顯示】-【管理工具】-【數(shù)據(jù)源(ODBC)】-【系統(tǒng)DSN】-【添加】
發(fā)現(xiàn)并沒有Access所對應的數(shù)據(jù)源選項。
小編使用的是Win7 64位系統(tǒng)進行測試的,管理工具中所列出來的是64位的配置源。在32位系統(tǒng)中應該會顯示的。
在64位系統(tǒng)中,是包含64位和32位兩個數(shù)據(jù)源程序的。所以需要找到ODBC 數(shù)據(jù)源(32 位)的程序進行配置數(shù)據(jù)源:
【我的電腦】-【C盤】-【W(wǎng)indows】-【SysWOW64】-【odbcad32.exe】
直接打開這個文件,進行配置。
選擇【系統(tǒng)DSN】進行選擇Access的驅(qū)動程序,進行添加操作。:
輸入數(shù)據(jù)源名稱,以及選擇數(shù)據(jù)庫文件的位置。
直到此時,數(shù)據(jù)源配置完畢。
Winform項目打開,添加DataGridView。為DatagridView添加指定數(shù)據(jù)源。
選擇數(shù)據(jù)庫,點擊下一步:
選擇數(shù)據(jù)集:
新建連接:
選擇自己定義的數(shù)據(jù)源的名稱,直接創(chuàng)建即可:
選擇數(shù)據(jù)庫內(nèi)綁定的數(shù)據(jù):
數(shù)據(jù)源添加完畢,直接運行效果:
好了,就到這里了,如有錯誤,還請指正。
更多原創(chuàng)教程,請點擊上方關(guān)注或微信公眾平臺:做全棧攻城獅。
本文章由做全棧攻城獅,原創(chuàng)首發(fā),如有轉(zhuǎn)載,請聲明出處。
個人微信:aiquanzhan www.8z5.net
用 Access 可以很好地管理各種數(shù)據(jù), 但是在實際應用中, 許多數(shù)據(jù)并不是使用 Access 來收集的, 此時, 為了使用 Access 管理其他軟件或程序收集到的數(shù)據(jù), 可以將收集到的數(shù)據(jù)導入 Access 中。
在 Access 數(shù)據(jù)庫中, 可以將其他的 Access 數(shù)據(jù)庫、 ODBC 數(shù)據(jù)庫、 Excel 表格、 HTML 文檔和文本文件等外部數(shù)據(jù)導入當前數(shù)據(jù)庫中, 下面將分別介紹。
如果要將其他 Access 數(shù)據(jù)庫導入數(shù)據(jù)庫對象, 既可以使用復制和粘貼的方法, 也可以使用【導入向?qū)А縼硗瓿伞?使用【導入向?qū)А?可以在不打開 Access 的情況下完成, 其具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】 下拉按鈕,在彈出的下拉菜單中選擇【從數(shù)據(jù)庫】選項,在彈出的級聯(lián)菜單中選擇【Access】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框, 單擊【文件名】文本框右側(cè)的【瀏覽】 按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的數(shù)據(jù)庫,單擊【打開】按鈕,如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框,選中【將表、 查詢、 窗體、 報表、 宏和模塊導入當前數(shù)據(jù)庫】單選按鈕,單擊【確定】按鈕, 如圖所示。
技術(shù)看板
選中【將表、 查詢、 窗體、 報表、宏和模塊導入當前數(shù)據(jù)庫】單選按鈕,表示導入后的對象與源對象是獨立的,沒有任何關(guān)系。 如果選中【通過創(chuàng)建鏈接表來鏈接到數(shù)據(jù)源】 單選按鈕,會在當前數(shù)據(jù)庫中創(chuàng)建一個鏈接表,鏈接到源數(shù)據(jù)庫對象上, 此鏈接表的改動是雙向的, 無論修改源對象還是當前數(shù)據(jù)庫對象, 都會同步反映給雙方。 在 Access 中, 利用該鏈接功能,可以實現(xiàn)文件的共享。
Step 05 打開【導入對象】 對話框, 在6 個選項卡中分別顯示了源數(shù)據(jù)庫中的各個對象, 選擇【表】 選項卡中的【年度銷售記錄】 選項,單擊【確定】 按鈕如圖所示。
Step 06 返回【獲取外部數(shù)據(jù) -Access數(shù)據(jù)庫】 對話框,選中【保存導入步驟】 復選框; 在【另存為】文本框中輸入名稱,單擊【保存導入】 按鈕, 如圖所示。
Step 07 操作完成后, 即可導入選擇的數(shù)據(jù)庫, 如圖所示。
對于一般用戶而言, 對 Excel 的熟悉程序遠遠高于 Access, 尤其是在操作表格數(shù)據(jù)時, Excel 的界面更加直觀, 操作也更為簡潔。 所以, 用戶可以先在 Excel 中編輯好數(shù)據(jù), 然后將其導入 Access 中, 從而方便快捷地制作表對象, 具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】下拉按鈕,在彈出的下拉菜單中選擇【從文件】選項,在彈出的級聯(lián)菜單中選擇【Excel】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框, 單擊【文件名】文本框右側(cè)的【瀏覽】 按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的 Excel電子表格,單擊【打開】 按鈕, 如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框,選中【將源數(shù)據(jù)導入當前數(shù)據(jù)庫的新表中】 單選按鈕,單擊【確定】按鈕,如圖所示。
Step 05 打開【導入數(shù)據(jù)表向?qū)А繉υ捒颍x中【顯示工作表】 單選按鈕,單擊【下一步】 按鈕,如圖所示。
Step 06 在【導入數(shù)據(jù)表向?qū)А?對話框中,選中【第一行包含列標題】復選框,單擊【下一步】 按鈕,如圖所示。
Step 07 在【導入數(shù)據(jù)表向?qū)А?對話框中的【字段選項】 欄分別指定每個字段的名稱、 數(shù)據(jù)類型、 索引等信息, 如指定【銷售編號】字段的【索引】為【有(無重復)】,單擊【下一步】 按鈕,如圖所示。
Step 08 在【導入數(shù)據(jù)表向?qū)А?對話框中,選中【我自己選擇主鍵】 單選按鈕,在右側(cè)的下拉列表框中選擇【銷售編號】 選項,單擊【下一步】 按鈕, 如圖所示。
Step 09 在【導入數(shù)據(jù)表向?qū)А?對話框中, 在【導入到表】 文本框中指定表名稱, 如保持默認名稱, 單擊【完成】 按鈕, 如圖所示。
Step 10 返回【獲取外部數(shù)據(jù) -Excel 電子表格】 對話框,選中【保存導入步驟】 復選框,在【另存為】文本框中輸入名稱,單擊【保存導入】 按鈕, 如圖所示。
Step 11 操作完成后, 即可導入選擇的Excel 電子表格, 并在數(shù)據(jù)庫中創(chuàng)建一個新表, 如圖所示。
在工作中, 需要使用文本文件導出的數(shù)據(jù)很多, 如考勤文件、 企業(yè)到企業(yè)(B2B) 的數(shù)據(jù)傳輸?shù)取?如果有需要, 也可以將這些文本文件導入Access數(shù)據(jù)庫中, 具體操作步驟如下。
Step 01 打開"銷售管理數(shù)據(jù) .accdb",單擊【外部數(shù)據(jù)】 選項卡【導入并鏈接】 組中的【新數(shù)據(jù)源】 下拉按鈕,在彈出的下拉菜單中選擇【從文件】選項,在彈出的級聯(lián)菜單中選擇【文本文件】 選項, 如圖所示。
Step 02 打開【獲取外部數(shù)據(jù) - 文本文件】 對話框, 單擊【文件名】 文本框右側(cè)的【瀏覽】按鈕, 如圖所示。
Step 03 打開【打開】 對話框,選擇要導入的文本文件,單擊【打開】按鈕, 如圖所示。
Step 04 返回【獲取外部數(shù)據(jù) - 文本文件】 對話框,選中【將源數(shù)據(jù)導入當前數(shù)據(jù)庫的新表中】單選按鈕,單擊【確定】 按鈕, 如圖所示。
Step 05 打開【導入文本向?qū)А?對話框,選中【帶分隔符】 單選按鈕,單擊【下一步】 按鈕, 如圖所示。
技能拓展—導入固定寬度的文本文件
如果文本文件是使用固定寬度分隔開, 可以選中【固定寬度】單選按鈕,系統(tǒng)會根據(jù)寬度創(chuàng)建分隔線。 用戶也可以對分隔線執(zhí)行添加、移動等操作,如圖所示。
Step 06 在【導入文本向?qū)А?對話框中的【請選擇字段分隔符】 欄選中【逗號】 單選按鈕, 選中【第一行包含字段名稱】復選框,單擊【下一步】 按鈕, 如圖所示。
Step 07 在【導入文本向?qū)А?對話框中的【字段選項】 欄設置各字段的名稱和數(shù)據(jù)類型, 單擊【下一步】按鈕, 如圖所示。
Step 08 在【導入文本向?qū)А?對話框中,選中【讓 Access 添加主鍵】 單選按鈕,單擊【下一步】 按鈕, 如圖所示。
Step 09 在【導入文本向?qū)А?對話框中的【導入到表】 文本框中輸入文件名,單擊【完成】 按鈕, 如圖所示。
Step 10 返回【獲取外部數(shù)據(jù) - 文本文件】 對話框, 直接單擊【關(guān)閉】 按鈕,如圖所示。
Step 11 操作完成后, 即可導入選擇的文本文件, 并在數(shù)據(jù)庫中創(chuàng)建一個新表, 如圖所示。
要代碼:
Dim doc, objhtml As Object
Dim i As Integer
Dim strhtml As String
If Not Me.WebBrowser1.Busy Then
Set doc=WebBrowser1.Document
i=0
Set objhtml=doc.body.createtextrange()
If Not IsNull(objhtml) Then
Text1=objhtml.htmltext
End If
End If
?
示例下載:( 在“了解更多”里下載)
圖 示:
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。