在MFC中如何定义全局变量,如何引用它?

在MFC中如何定义全局变量,如何引用它?,第1张

该ADO连接变量定义在哪个头文件中?这个头文件是否包含进来了(是说在当前使用该对象的文件中)?建议:最好不要定义成全局变量,将它定义为APP类的数据成员就可以了,以后再任意文件中只需要使用一句外部声明就可以引用到该对象:

extern C×××App theApp

以后直接使用改theApp唯一的应用程序类对象来引用ADO连接数据库指针。而且在释放改对象的时候只需要在应用程序类C×××App的覆写虚函数ExitInstance()中释放该资源就可,很方便管理的。

楼主理解是正确的。楼主说自己试初学VC,但居然能够自己研究发现这么多信息,如果我是初学者的话,我肯定没楼主那么能干。一定会一头雾水。从这点上,我非常佩服楼主的才能!我是远远达不到这样的高度的。

至于他们给你的DLL,基本上能断定那个是CLR写的DLL。就我理解,CLR应该和MFC是完全不一样的,无论是语言的语法,或者是从CLR、MFC的基础架构方面,都没有交集!因此可以将CLR理解为一门全新的语言,它使用的库是.net 库。楼主肯定有 MFC 基础的。如果楼主研究过C#的话,那CLR应该是很容易上手的。从亲缘性方面来讲,CLR项目和C#项目更相似。它们的DLL只需要在使用DLL的项目中,通过楼主所言的“引用”方式添加进来就OK了。没有LIB的区别。它的实现机制是:所有DLL/EXE在文件内部都会有一个清单,该清单记录了DLL/EXE自己实现的类,函数以及它引用别人的类、函数和这些文件名等一系列信息。

至于有人提出是COM的关系,我认为这个问题应该和COM没有一点关系。所以如果要从COM入手,完全是一条死胡同。会浪费时间的!

虽然VC支持MFC和CLR混编,但如果要混编,我感觉系统不稳定,一方面我担心兼容性的问题导致程序的稳定性问题。另一方面,既要熟悉MFC,又要熟悉CLR,否则混编很困难。我认为,既然要用别人的CLR DLL,那么最好还是别用MFC,直接做CLR。楼主不熟悉CLR,那么只有学。尽管需要赶工期,但我也想不出好办法。做CLR项目是我认为最好的出路!

新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集

从工具箱向form1窗体上拖一个按钮和datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,datagridview控件是用于显示数据集内容

单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysql.data.dll,这是c#连接mysql数据库的动态库,里面封装了很多常用的 *** 作数据库的方法

在解决方案资源管理器中的form1.cs的代码中加入using MySql.Data.MySqlClient这就是代码中的实际引用mysql.data.dll中的内容,有了这个c#就能很方便地 *** 作sql数据库

在按钮的单击事件中添加如下代码

string str = "Server=127.0.0.1User ID=rootPassword=123456Database=testCharSet=gbk"

MySqlConnection con = new MySqlConnection(str)//实例化链接

con.Open()//开启连接

string strcmd = "select * from user"

MySqlCommand cmd = new MySqlCommand(strcmd, con)

MySqlDataAdapter ada = new MySqlDataAdapter(cmd)

DataSet ds = new DataSet()

ada.Fill(ds)//查询结果填充数据集

dataGridView1.DataSource = ds.Tables[0]

con.Close()//关闭连接

使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库 *** 作,直观地通过界面来 *** 作

7

数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空


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

原文地址: http://outofmemory.cn/bake/11530502.html

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

发表评论

登录后才能评论

评论列表(0条)

保存