如何设置才能使VC++6.0连接到mysql 5.0数据库

如何设置才能使VC++6.0连接到mysql 5.0数据库,第1张

c++不支持MySQL连接,所以

常见的有两种方法

1。 ODBC连接mysql。安装mysql后,再安装个mysql connection,你百度搜一下。 然后odbc创建mysql连接。

2. mysql自带的函数库

先照下面这个教程的前两步设置好,然后就能调用_ConnectionPtr、_RecordsetPtr和_CommandPtr三个指针。

http://wenku.baidu.com/view/396ffb87d4d8d15abe234e71.html

_ConnectionPtr是用来建立连接的;_RecordsetPtr是用来对数据库记录集进行 *** 作的,记录集说白了就是数据库的一个小的副本,你不能直接 *** 作数据库,所有的 *** 作都是对记录集 *** 作,然后更新,就反应到数据库上边了;_CommandPtr还没用过,一般前两个就够了。

这几个指针虽然还算方便,但是比较繁琐的,我从一本书上找到了几个类将这几个指针重新封装了一下,使用起来更方便了。这本书是《多层结构的数据库应用系统的开发:VC6.0+CSocket+ADO+SQL server 》,书里讲的更详细。

下面是我写的一个例子,不太好,你就参考一下吧。

头文件.h

CSbtAdoCnn m_AdoCnn    //_ConnectionPtr的封装

CSbtAdoRst m_AdoRst    //_RecordsetPtr的封装

源文件.cpp

//数据库 *** 作

CString strSource = m_AdoExc.GetStrSource()    //连接字符串获取,可以直接写,后边那个函数请忽视

CString strUser = m_AdoExc.GetStrUser()    //用户名获取

CString strPwd = m_AdoExc.GetStrPwd()    //密码获取

CString strSQL    //SQL命令,决定了打开什么样的记录集

CSbtStrArr m_FieldValues    //CSbtStrArr是将CStringArray重新封装的一个类,m_FieldValues用存记录集的一行数据

m_AdoCnn.Open(strSource, strUser, strPwd)        //先建立连接

strSQL = "SELECT * FROM mydatabase"

m_AdoRst.Open(                //这几个参数参见CSbtAdoRst里的说明

m_AdoCnn.GetCnnPtr(),

strSQL,

adOpenStatic,

adLockOptimistic,

adCmdText)

m_AdoRst.MoveFirst()    //移到ado记录集第一行

while(!m_AdoRst.IsEOF())

{

m_AdoRst.GetFieldsValue(m_FieldValues)    //取得一行记录

//------------------------------------------

//你的 *** 作

//==========================

m_AdoRst.MoveNext()    //移到下一行

}

m_AdoRst.Close()

m_AdoCnn.Close()

使用ADO方法访问access数据库:

使用ADO连接数据库是通过Connection对象的Open方法实现的,语法是:

Connection.Open Connectionstring.userID.password,openoptions

参数说明:

Connectionstring:(可选)字符串,包含连接信息

userID:(可选)字符串,包含连接时所使用的用户名称

password:(可选)字符串,包含建立连接时多用密码

openoptions:(可选)ConnectoptionEnum值,如果设置为adConnectoAsync,则异步打开连接。当连接。当连接可用时将产生ConnectComplete事件

具体的实现方法如下:

void CConnectDlg::OnInitADOConn()

{

try

{

//创建连接对象实例

m_pConnection.CreateInstance("ADODB.Connection")

//设置连接字符串

CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)}\

uid=pwd=DBQ=shujuku.mdb"

//使用Open方法连接数据库

m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown)

}

catch(_com_error e)

{

AfxMessageBox(e.Description())

}

}

void CConnectDlg::ExitConnect()

{

//关闭记录集和连接

if(m_pRecordset!=NULL)

m_pRecordset->Close()

m_pConnection->Close()

}

至于视频的我真没有了,呵呵,你个小子,怎么弄起数据库来了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10024763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存