问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在VC 2008中使用一般的全局变量

发布网友 发布时间:2022-04-15 11:29

我来回答

2个回答

懂视网 时间:2022-04-15 15:50

最近参与一个项目,要在VC环境下编程访问数据库。

一般来说,VC下采用微软自身的SQL Server是比较常见的做法。但是我总觉得SQL Server只适合学习,不适合真正应用。再加上像我们这样一个算小也不小,算大也不大的项目来说,网上推荐的总是MySQL。基于这样的考虑,我们就选择了MySQL作为后台数据库。

C++语言本身并没有提供访问数据库的东西。因此一般我们要使用访问数据库的驱动。微软提供过一个ODBC的标准API,用于屏蔽各数据库底层细节,提供统一接口访问各个数据库。在MySQL官网上也能下到一个叫"Connector/ODBC"的driver,但是就在同一个网页上,又看到一个"Connector/C++"的driver,于是我就想,既然能专门针对C++语言提供一个driver,那这个应该比ODBC要效率高些吧。因此我就选择了他。

经过一番探索,终于搞定了数据库访问问题。废话不多说,下面就讲讲如何配置。

--------------------------------------------------------------------------------------------------------------------------

首先在http://www.mysql.com/downloads/上下载"Connector/C++"的driver,注意要下1.0.5版本的(最新的1.1.0版要使用一个神马库,麻烦)。下完后安装(或者免安装版的直接解压),完了之后在安装目录下会生成一个"MySQL Connector C++ 1.0.5"的文件夹,里面有两个子文件夹"include"及"lib",其中lib文件夹下又有一个debug文件夹和opt文件夹。

在VC中新建一个项目,

1.右击项目->属性->配置属性->"C/C++"->常规,在“附加包含目录”中将刚刚所说的"include"及"include/cppconn"的路径包含进来。

2.若在debug下,属性->配置属性->链接器->常规,在“附加库目录”中将刚刚所提的"lib"文件夹下的子文件夹"debug"的路径包含进来。若在release下,则将"opt"的路径包含进来。

3.属性->配置属性->链接器->输入,在“附加依赖项”中添加"mysqlcppconn.lib,mysqlcppconn-static.lib"这两项(这两项其实是"lib"文件夹下的两个lib文件)。

4.将"MySQL Connector C++ 1.0.5/lib/debug"下的"mysqlcppconn.dll"文件复制到windows/system32文件夹下或直接复制到项目所在路径下的debug文件夹下。(release下类似,复制".../lib/opt"下的即可。

5.将"MySQL安装目录/lib/opt"下的"libmysql.dll"文件复制到windows/system32文件夹下。

至此,整个运行环境就算配置好了。现在可以编写一段简单的代码测试一下。提供一段代码如下:

#include #include #include #include #include #include #include 
using namespace sql;
using namespace std;
void RunConnectMySQL()
{
mysql::MySQL_Driver *driver;
Connection *con;
Statement *state;
ResultSet *result;
// 初始化驱动
driver = sql::mysql::get_mysql_driver_instance();
// 建立链接
con = driver->connect("tcp://127.0.0.1:3306", "root", "123");
state = con->createStatement();
state->execute("use test");
// 查询
result = state->executeQuery("select * from testuser where id < 1002");
//
输出查询
while(result->next())
{
int id = result->getInt("ID");
string name = result->getString("name");
cout << id << " : " << name << endl;
}
delete state;
delete con;
}
int main()
{
RunConnectMySQL();
getchar();
return 0;
}

当然,如果想让这段代码正确执行的话,首先得先在数据库里建一张对应的表(此处略去若干字)。

热心网友 时间:2022-04-15 12:58

在一个cpp中定义
如果在另外一个cpp中使用 要用extern 声明一下
例如:
a.cpp
int var1;
b.cpp
extern int var1;
var1=4;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么时间试排卵纸最佳 排卵第十天排卵试纸弱阳怎么回事 手机app下载课后帮 课后帮点击了家长怎么改成学生的 课后帮绑定学生后还能绑定家长吗 课后帮怎么注册 课后帮注册教程 癫痫急救的正确方法 癫痫持续状态的抢救要点 小儿癫痫发作的急救措施 癫痫病急救常识有哪些要点 2070super显卡还能玩几年3a 现在买I9-9900k,影驰2070大将super配出来的主机是不是可以保证五六年内用起来不落后?小白不太懂 影驰2070super大将吃鸡怎么调整体图像质量? 微星2070魔龙显卡对比影驰2070大将显卡那个好? 河北邯郸家庭教育指导师什么时候考试 51fusa功能安全社区是做什么的呢?有人知道吗。 51论坛在那里? 51论坛群组帖子的下面可以放谷歌广告吗? 51论坛的网址是多少 C语言怎么在vc2008中运行 51是什么意思呢? outlook2007设置outlook邮箱账户 梦见水刚开始是清澈的,越接越混了 你已设置拒换绑在哪里解除? 微信里不小心点了“拒绝接收来自此应用的所有消息”,怎么改回来? 设置拒登录换绑怎么恢复? microsoft visual c++ 2008怎么用 什么叫每股理论除权价格 求大侠用C程序编程做一个祝女朋友生日快乐的程序。。。 股票的除权参考价是多少? VC++2008的使用,100分! 苹果6s怎么设置开机密码 用vc2008编写c语言的正确步骤是什么!如何正确规范使用vc2008编译,调试,连接,程序? minecraft 黑色的山脉是哪里 粉红色天空黑色山脉背景是什么歌? 什么岩石构成的山脉和土壤是黑色的? 粉红色的天空黑色的山脉背景图片是什么歌? 电视背景墙的山脉颜色是黑色的行吗?用什么方法能把它变得喜庆些? 看图猜成语一条河,旁边有花花草草,然后另一边是一个黑色的山峰 山和献合起来读什么 看图猜成语河水流向黑色的山峰 一个山加一个献是什么字 出纳现金日记账出现负数怎么填? 内部特征 澳大利亚地图,有什么山脉啊,城市啊标出来的 现金日记账一页出现负数怎么处理? 重点矿床类型和地质特征 江两岸,芦荡、树林和山峰的黑色剪影 ,在江天交界处隐隐约约地伸展着,起伏着。月光为他们镀上了一层银 关于VC2008的基本使用 luguan是什么自行车牌?