VBA運算元據庫2

2021-06-27 20:50:59 字數 1688 閱讀 5639



'excel的vba連線資料庫方法

public sub getdata()

dim strconn as string, strsql as string

dim conn as adodb.connection

dim ds as adodb.recordset

dim col as integer

''清空電子**的所有資料

cells.clear

''連線資料庫的字串

strconn = "provider=sqloledb.1;persist security info=true;user id=sa;password=123456;initial catalog=dw;data source=r9hdet7"

''查詢語句

strsql = "select * from [dbo].[vsc_bi_customer]"

set conn = new adodb.connection

set ds = new adodb.recordset

''開啟資料庫連線

conn.open strconn

with ds

''根據查詢語句獲得資料

.open strsql, conn

''自動控制加入所有列標題

for col = 0 to ds.fields.count - 1

''請注意offset(0, col)中的引數一定要正確噢

range("a1").offset(0, col).value = ds.fields(col).name

next

''加入所有行資料

range("a1").offset(1, 0).copyfromrecordset ds

end with

''以下是關閉資料庫連線和清空資源

set ds = nothing

conn.close

set conn = nothing

end sub

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

strsql = "select b from a " '定義sql查詢命令字串

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

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

i = 2

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

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

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

'把當前欄位2的值儲存到sheet1工作表的第i行第2列

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

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

loop '迴圈

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

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

end sub

2 運算元據庫

運算元據庫 運算元據庫中的表 運算元據庫中表的資料 mysql關鍵字不區分大小寫 下面做的筆記中,代表可選 create database if not exists schooldrop database if exists schooluse school 如果你的表名或者欄位名是乙個特殊字元,...

運算元據庫

python importmysqldb defmydbtest conn mysqldb.connect host localhost user root passwd sa db b4img charset utf8 cursor conn.cursor sql select from imag...

運算元據庫

2.localhost 的位址 檢視 一般位於c windows system32 driver etc下,一般在最後有這麼一行 127.0.0.1 localhost 資料庫操作方法 鏈結資料庫 建立資料庫表 資料庫插入操作 資料庫查詢操作 後記 try 使用 fetchone 方法獲取一條資料 ...