日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...

發(fā)布時(shí)間:2024/4/14 数据库 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、創(chuàng)建數(shù)據(jù)庫(kù)、創(chuàng)建表、插入數(shù)據(jù)

>show databases;

>create database mydb;

>user mydb;

>create table mytable(id int(4) not null primary key auto_increment,name char(20) not null, sex int(4) not null default '0');

>insert into mytable(id, name, sex) values(1, 'aaa', 0);

>insert into mytable(name, sex) values('aaa', 0);

>

二、ADO連接mysql數(shù)據(jù)庫(kù)

2.1 安裝mysql驅(qū)動(dòng)程序

驅(qū)動(dòng)程序名稱:mysql-connector-odbc-5.2.5-win32.msi

2.2 配置odbc數(shù)據(jù)源

控制面板 -> 系統(tǒng)和安全?-> 管理工具?-> 數(shù)據(jù)源ODBC?-> 用戶DSN?-> 添加?-> MySQL ODBC 5.2 ANSI Driver

2.3 程序連接mysql數(shù)據(jù)庫(kù)

#include

#include

#include

using namespace std;

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")

int main(int argc, char *argv[])

{

CoInitialize(NULL);

//Connect

_ConnectionPtr pConn;

pConn.CreateInstance(__uuidof(Connection));

try

{

HRESULT hr = pConn->Open("DSN=MySQL-ODBC;server=localhost;database=mydb;", "root", "love", adModeUnknown);

}

catch (_com_error &e)

{

cout<

return -1;

}

//Open

_RecordsetPtr pRecord;

pRecord.CreateInstance(__uuidof(Recordset));

pRecord->CursorLocation = adUseClient;

pRecord->PutActiveConnection(pConn.GetInterfacePtr());

//Read

pRecord->Open(_bstr_t("select * from mytable"),vtMissing, adOpenDynamic, adLockBatchOptimistic, adCmdText);

while(!pRecord->adoEOF)

{

_variant_t vID = pRecord->GetCollect(_variant_t((long)0));

_variant_t vName = pRecord->GetCollect("name");

_variant_t vSex = pRecord->GetCollect("sex");

cout<

cout<

cout<

pRecord->MoveNext();

}

//Close

pRecord->Close();

pConn->Close();

CoUninitialize();

return 1;

};

三、mysql的API連接mysql數(shù)據(jù)庫(kù)

3.1 配置連接mysql環(huán)境

mysql安裝目錄為:C:\Program Files\MySQL

1. 在VS中設(shè)置include目錄:C:\Program Files\MySQL\MySQL Server 5.6\include

2. 在VS中設(shè)置lib目錄:C:\Program Files\MySQL\MySQL Server 5.6\lib

3. 將libmysql.dll拷貝到當(dāng)前工程目錄下。

3.2 程序連接mysql數(shù)據(jù)庫(kù)

#include

#include

#include

using namespace std;

#include "mysql.h"

#pragma comment(lib, "libmysql.lib")

int main(int argc, char *argv[])

{

MYSQL sqlCon;

//init

mysql_init(&sqlCon);

//connect

if(!mysql_real_connect(&sqlCon, "localhost", "root", "love", "mydb", 3306, NULL, 0))

{

cout<

return 0;

}

//query

char *pQuery = "select * from mytable";

if(mysql_real_query(&sqlCon, pQuery, (UINT)strlen(pQuery)))

{

cout<

return 0;

}

MYSQL_RES *sqlRes = mysql_store_result(&sqlCon);

while(MYSQL_ROW row = mysql_fetch_row(sqlRes))

{

cout<

cout<

cout<

}

mysql_free_result(sqlRes);

//close

mysql_close(&sqlCon);

return 1;

};

3.3 編譯錯(cuò)誤error LNK2019:

1. 錯(cuò)誤

error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_close@4,該符號(hào)在函數(shù) _main 中被引用

error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_real_connect@32,該符號(hào)在函數(shù) _main 中被引用

error LNK2019: 無(wú)法解析的外部符號(hào) _mysql_init@4,該符號(hào)在函數(shù) _main 中被引用

2. 原因

系統(tǒng)是Win7 64位,安裝的mysql是64位,而工程用的是32位

3. 解決:將工程改為64位

屬性 -> 配置管理器?->?活動(dòng)解決方案平臺(tái)?->?新建?->?X64

總結(jié)

以上是生活随笔為你收集整理的mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。