中易网

VC连接数据库到底怎么设置啊?

答案:3  悬赏:60  
解决时间 2021-03-15 21:56
ODBC、ADO的都给了一大堆代码、但是代码要写在哪里就没说。。编译就出错。。谁能说清楚点啊~!我是用SQL Server做的数据库、就是想知道怎么连接、但是用动态控件又好像可以直接读取数据库的表信息、搞不清楚。。。
最佳答案
(1)打开VC工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。
(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。
Lib目录下还有debug和opt两个目录,建议选debug。
(3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。
(4)在stdafx.h里面添加如下的内容:
#include "mysql.h"
#include "winsock.h"
#pragma comment(lib,"libmySQL.lib"
全部回答
// 要是有odbc、ado,首先必须对要初始化,在cmyapp的initinstance函数中需要加入如下代码 bool cmyapp::initinstance() { // initialize ole libraries afxenablecontrolcontainer(); if (!afxoleinit()) { afxmessagebox(idp_ole_init_failed); return false; } m_pmainwnd = null; ... ..... } _connectionptr m_faxdatalink; /// 初始化数据库 inidatalink() { cstring sql="driver={sql server};server=150.0.1.131;uid id=;pwd=;database=餐饮管理"; _bstr_t conn = sql; _bstr_t name; _bstr_t code; hresult hr = 0; try { // 创建连接智能指针"adodb.connection" hr = m_faxdatalink.createinstance(__uuidof(connection)); m_faxdatalink -> open(conn, "", "", -1); // 设置连接超时 m_faxdatalink->putcommandtimeout(5); } catch (_com_error & error) { // 出错处理 return 0; } return 1; } 这里还只是链接到了数据库,以后就可以利用这个链接,打开数据库表,还要知道包含哪些文件不要搞错,问题太多,要一个一个的提,不要在一个问题中提多个问题。 具体的步骤应该是: 1.初始化_connectionptr,见上面的初始化函数 2.打开数据表 // 结果集 _recordsetptr m_recoptr; m_recoptr->open(query, _variant_t((idispatch*)m_faxdatalink), adopenkeyset, adlockoptimistic, adcmdtext); 3.对数据表进行读写 _variant_t var_value;// 字段值 _variant_t name=name; // 字段名称 var_value=m_recoptr->getcollect(name);
// 要是有odbc、ado,首先必须对要初始化,在CMyApp的InitInstance函数中需要加入如下代码 BOOL CMyApp::InitInstance() { // Initialize OLE libraries AfxEnableControlContainer(); if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } m_pMainWnd = NULL; ... ..... } _ConnectionPtr m_FaxDataLink; /// 初始化数据库 IniDataLink() { CString SQL="Driver={SQL Server};Server=150.0.1.131;Uid Id=;Pwd=;Database=餐饮管理"; _bstr_t conn = SQL; _bstr_t name; _bstr_t code; HRESULT hr = 0; try { // 创建连接智能指针"ADODB.Connection" hr = m_FaxDataLink.CreateInstance(__uuidof(Connection)); m_FaxDataLink -> Open(conn, "", "", -1); // 设置连接超时 m_FaxDataLink->PutCommandTimeout(5); } catch (_com_error & error) { // 出错处理 return 0; } return 1; } 这里还只是链接到了数据库,以后就可以利用这个链接,打开数据库表,还要知道包含哪些文件不要搞错,问题太多,要一个一个的提,不要在一个问题中提多个问题
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
每天以一小时7KM的速度跑步一个小时能减肥吗
中央电大公共关系学形成性考核作业答案,网上
people love and people cry
滕州市公安局停车场(入口)地址在哪,我要去那
深圳大学有什么研究生专业可以考
直播相机有什么优势?
夫妻现在异地,丈夫是否应该每月给妻子打生活
怎么知道自己的手机是否被监听?
吉他一般哪个尺寸适合青少年用
我群里有个人和我群里的一个机器人吵了起来,
广平县广平镇北关村村地址在哪,我要去那里办
奥运会上,贴在脸上的那些国旗叫什么
一些孩子正在过桥。翻译成英语
安徽阜阳今日老凤祥黄金首饰多少钱一克
怎样才能规避淘宝上架宝贝数量限制,多上宝贝
推荐资讯
任贤齐为什么人气这么高 巅峰时曾与张学友周
“上宫庄韩方祛痘组合”用了到底有没有用?功
重庆沙坪坝买融汇温泉和蓝溪谷地哪里房子好
急~~~ 英语口语 Do you have a good balance
川料南红是什么?
蓬溪县吉祥镇司法所地址有知道的么?有点事想
一汽解放J6.460空气滤芯型号是多少啊?
被用浆糊或固体胶粘住的纸,粘在另一张纸上要
水浒无双最厉害的职业是什么?
四川外语学院有空乘专科吗?是不是公办的
根号1/2乘以48除以根号1/8 求过程啊啊 ,速度
吕岩写的牧童,杨万里写的舟过安仁和辛弃疾写
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?