呂鑫資料庫的使用Ado

2021-09-22 23:04:45 字數 4578 閱讀 4207

目錄

一、ado類

二、資料庫型別

1、access資料庫

2、sql資料庫

3、oracle資料庫

三、函式使用

3-1connect

引數說明

函式使用

3-2select

引數說明

函式使用--查詢

3-3getfieldbyindex

引數說明

3-4execsql

引數說明

函式使用---插入

函式使用---刪除

函式使用---修改

函式名函式說明

addparam

connect

連線資料庫

createproc

execproc

execsql

資料庫增、刪、改、查

getfieldtype

getfieldvalue

根據資料庫的欄位名獲取資料

getfieldmoney

getfieldbyindex

根據資料庫第幾條資料獲取資料

getfieldcount

getfieldname

getrecordcount

getlasterror

獲取資料操作失敗原因

getvalue

select

返回所有匹配資料的記錄

release

iseof

判斷資料庫是否為空

movenext

資料庫的指標指向當前資料的後乙個資料

moveprev

資料庫的指向當前資料的前乙個資料

movefirst

資料庫的指標指向第乙個資料

movelast

資料庫的指標指向最後乙個資料

dbt_access

dbt_sql

dbt_oracle

引數說明

etype

資料庫型別:dbt_access、dbt_sql、dbt_oracle

szdatabase

資料庫名字

szpass

密碼szuser

使用者名稱szhost

cadolx ado;

if(!ado.connect(cadolx::dbt_access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

引數

說明szsql

操作(lpctstr型別)

/*-----------------------無條件查詢---------------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

cstring szselect = _t("select *from access"); //查詢資料庫access表的全部資料

if(!ado.select(szselect))

afxmessagebox(ado.getlasterror());

/*獲取資料庫中所有的資料

1、判斷資料庫指標是否為空:iseof

2、讀取資料:getfieldbyindex

3、將資料庫指標移動到下乙個:movenext

*/while(!ado.iseof())

/*-----------------------有條件查詢---------------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*操作:select *from

表名:access

查詢:f_name\f_pass是資料表列名,'access'\'access'是資料表的某一條資料 and是兩者都要存在

*/cstring szselect = _t("select *from access where f_name='access' and f_pass='access'");

ado.select(szselect)

if(!ado.iseof())

afxmessagebox(_t("查詢資料失敗!"));

引數

說明nindex

資料庫中第幾列資料

tvalue

資料緩衝區

引數說明

szsql

操作(lpctstr型別)

/*-----------------------插入全部----------------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*插入的操作:insert into

表名:access

插入的資料:value括號內的資料,1001是數字 '姓名'是文字,用單引號 '2019-7-26'是日期,也用單引號

*/cstring szsql = _t("insert into access value(1001,'姓名','2019-7-26')");

if(0 > ado.execsql(szsql))

afxmessagebox(szsql);

/*-----------------------插入部分----------------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*插入的操作:insert into

表名:access

插入的資料:f_id\f_name是列名,表示要在那一列插入

value括號內的資料,1001是數字 '姓名'是文字,用單引號

*/cstring szsql = _t("insert into access (f_id,f_name) value(1001,'姓名')");

if(0 > ado.execsql(szsql))

afxmessagebox(szsql);

/*-------------------刪除表-------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*插入的操作:delete from

表名:access

刪除整個資料表

*/cstring szsql = _t("delete from access");

if(0 > ado.execsql(szsql))

afxmessagebox(szsql);

/*-------------------刪除一條資料-------------------------*/

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*插入的操作:delete from

表名:access

刪除整個資料表:f_id是列名,根據列名來刪除 %s是具體的某一條資料,不分數字、字串

*/cstring szsql = _t("delete from access where f_id = %s");

if(0 > ado.execsql(szsql))

afxmessagebox(szsql);

cadolx ado;

if(ado.connect(dbt::access,_t("./access.accdb")))

afxmessagebox(ado.getlasterror());

/*插入的操作:update 表名 set 更新的資料

表名:access

修改:f_id\f_name\f_time是要修改資料的列名 f_id是要修改的那一條資料 字串用單引號,數字不用

*/cstring szsql = _t("update access set f_id=1,f_name='access',f_time='2019-1-1' where f_id=1");

if(0 > ado.execsql(szsql))

afxmessagebox(szsql);

使用ADO或ADO控制項訪問資料庫

目錄 1 資料庫的基礎知識以及建立access資料庫 2 資料庫的介面 3 使用ado或ado控制項訪問資料庫 上篇文章,為大家講解了資料庫的介面,大家對ado也有了較為基礎的了解,這篇文章主要解決大家對ado的用處的疑惑。vb為使用者提供了很多訪問資料庫的方式 方法一 使用ado物件,通過編寫 訪...

使用ADO連線mysql資料庫

一.mysql connector odbc 2.連線字串為 driver server localhost database mydatabase user myusername password mypassword option 3 參考這個連線http www.connectionstrin...

ado讀取資料庫

當我們在使用ado運算元據庫的時候經常會碰到一些問題!例如資料庫為空我們就應該對是否為空做出判斷!variant t var var bstr t m precordset getcollect z controllersn if var.vt vt null else m list.setitem...