VBA連線SQL SERVER資料庫操作Excel

2021-06-27 20:28:15 字數 1302 閱讀 8028



vba連線sql server資料庫操作excel。

sub 按鈕1_click()

dim i as integer, j as integer, sht as worksheet 'i,j為整數變數;sht 為excel工作表物件變數,指向某一工作表

'dim cn as new adodb.connection '定義資料鏈結物件 ,儲存連線資料庫資訊;請先新增ado引用

'dim rs as new adodb.recordset '定義記錄集物件,儲存資料表

『工具 ---〉引用 ---〉microsoft activex data objects ....

'下面兩句就不需要增加引用ado

set cn = createobject("adodb.connection")

set rs = createobject("adodb.recordset")

dim strcn as string, strsql as string '字串變數

dim strcond as string

strcn = "provider=sqloledb;server=r9hdet7;database=dbname;uid=username;pwd=password" '定義資料庫鏈結字串

'下面的語句將讀取資料表資料,並將它儲存到excel工作表中:工作表為一張兩維表,記錄集也是一張兩維表

strsql = "select customer_name from vsc_bi_customer " '定義sql查詢命令字串

cn.open strcn '與資料庫建立連線,如果成功,返回連線物件cn

rs.open strsql, cn '執行strsql所含的sql命令,結果儲存在rs記錄集物件中

i = 2

set sht = thisworkbook.worksheets("test") '把sht指向當前工作簿的test工作表

do while not rs.eof '當資料指標未移到記錄集末尾時,迴圈下列操作

sht.cells(i, 1) = rs("customer_name") '把當前記錄的字段1的值儲存到sheet1工作表的第i行第1列

rs.movenext '把指標移向下一條記錄

i = i + 1 'i加1,準備把下一記錄相關欄位的值儲存到工作表的下一行

loop '迴圈

rs.close '關閉記錄集,至此,程式將把某資料表的字段1儲存在excel工作表sheet1的第1列,行數等於資料表的記錄數

cn.close '關閉資料庫鏈結,釋放資源

end sub

Linux C語言連線 sqlserver資料庫

記錄一下linux下使用c語言連線sqlserver的方法。連線前需要安裝freetds。參考 這個是從參考鏈結中的提取 分析一下,寫上注釋。include include include include include includeint main void else 連線資料庫 if dbus...

Linux C語言連線 sqlserver資料庫

記錄一下linux下使用c語言連線sqlserver的方法。連線前需要安裝freetds。參考 這個是從參考鏈結中的提取 分析一下,寫上注釋。include include include include include includeint main void else 連線資料庫 if dbus...

MFC通過ADO連線SQL SERVER資料庫

以乙個mfc的dialog應用程式為例。1.首先是引入msado15.dll。在stdafx.h中加入 import c program files common files system ado msado15.dll no namespace rename eof adoeof 2.初始化com...