ado的mysql引數化 ADO引數化(VBA)

2021-10-19 15:26:57 字數 1538 閱讀 8008

ado引數化的好處

避免sql注入攻擊;2. 省去sql字串拼接;3. 避免出錯

方式一dim cn as adodb.connection

dim rs as adodb.recordset

dim cmd as adodb.command

dim param as adodb.parameter

dim sql as string

sql = "select * from tb where username = ? and age = ? "

set cn = new adodb.connection

cn.open "......" '資料庫連線語句

set cmd = new adodb.command

with cmd

.activeconnection = cn

.commandtype = adcmdtext

.commandtext = sql

set param = .createparameter("?", advarchar, adparaminput, 20, txtname.text)

set param = .createparameter("?", adinteger, adparaminput, 4, txtage.text)

set rs = .execute

end with

set rs = nothing

set cmd = nothing

set cn = nothing

方式二dim con as adodb.connection

dim cmd as adodb.command

dim sql as string

dim arrvalue

dim i as long

sql = "insert into tb(descr,qty,dt) values(?,?,?)"

arrvalue = array("test", 152, "2010-11-28") '引數值

set con = new adodb.connection

con.cursorlocation = aduseclient '客戶端游標

con.open "....." '連線資料庫

set cmd = new adodb.command

with cmd

.activeconnection = con

.commandtext = sql

.commandtype = adcmdtext

for i = 0 to .parameters.count - 1

.parameters(i) = arrvalue(i)

next

.execute

end with

set cmd = nothing

set con = nothing

這個方法同樣也可以用於sql資料庫的儲存過程,只是要注意二點:一是儲存過程的使用者第乙個引數的序號是1,序號0引數已經用於儲存過程內部的事務;二是輸出引數不用賦值。

MySQL的ADO控制項 實現ADO控制項引用的方法

關係型資料庫系統中的表由行和列組成,這有些類似於excel二維 的樣子。由於excel並不是關係型資料庫管理系統,在使用vba對關係型資料庫進行訪問時,需要通過設定ado來訪問關係型資料庫系統。本文介紹向工程中新增ado引用的方法。1 啟動excel並建立文件,開啟visual basic編輯器,選...

ado mysql 用ADO訪問MySQL的方法

老規矩,理論先擺一邊,step by step,只講方法。step 1.這裡也可以 step 2.控制面板 管理工具 資料來源,然後點 新增 會出現乙個 選好後點 完成 再填 如果你的mysql安裝的時候是完全按預設的話,就這麼填就行了,別的可以不管。step 3.一切ok的話,就可以到程式設計環境...

ADO教程(執行帶引數儲存過程)

由於最近專案上要使用ado訪問資料庫,而網上又沒有非常完整的帖子,乾脆摸著石頭過河來總結乙個ado的使用 首先不得不說ado的使用率並不是很高 1.ado是微軟提供的訪問各種資料庫的統一介面,是對底層的com技術ole db的封裝 它的主要優點是易於使用,高速度,低記憶體開銷,和乙個小磁碟占用,缺點...