北大青鸟设计培训:C++连接mysql数据库的两种方法?

北大青鸟设计培训:C++连接mysql数据库的两种方法?,第1张

现在正做一个接口,通过不同的连接字符串 *** 作不同的数据库(数据库培训数据库认证)。

要用到MySQL(MySQL认证Mysql培训)数据库,以前没用过这个数据库,用aC++(C++培训)ess和sqlserver比较多。

通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法。

盐城IT培训http://www.kmbdqn.cn/认为可以通过2种方法实现。

第一种方法是利用ADO连接,第二种方法是利用mysql自己的api函数进行连接。

第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。

暂时只连接了mysql,sqlserver,oracle,access。

对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说。

第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序。

不管用哪种方法,首先需要安装Mysql数据库,安装方法请看“mysql安装及一些注意点”。

最好安装一个Navicatformysql,方便 *** 作mysql数据库。

下面分别说下这两种方法:(一)通过ADO连接MySql数据库1、通过ADO连接MySql数据库,首先得安装MyODBC服务器程序。

MyODBC版本要和MySql的版本对应上,否则会连接不上数据库。

我用的版本分别是mysql-5.1.48-win32.msi和mysql-connector-odbc-5.1.5-win32.msi。

安装好后,点击开始菜单->设置->控制面板->管理工具->数据源(ODBC)->用户DSN->添加->选择MySQLODBC5.1Driver。

如下图:然后双击MySQLODBC5.1Driver进行配置。

配置好可以点Test进行下测试(如下图),如果能连上会d出connectionsuccessful对话框。

sql设置好用户名跟密码以后比如sa

密码123

打开delphi放一个按钮,然后在控件栏那里选datacontrol,选第一个dbgrid放到form上,选dataaccess里面的第一个datasource,然后选ado——adoconnection放到form上,再选ado——adoquery放到form上。点选adoconnection左边的框体有个connectionstring点"…":d出来的对话框中点Build,然后选择从下数上来第五个,双击或者下一步,填入用户名跟密码(sa

123),在“3.选择数据库”那里选择要打开的数据库,选上保存密码,点一下“测试连接”,点OK退出。出来以后继续在左边框体里面找LoginPrompt改成False。到adoquery了,点上它然后在左边框体的

Connection

那里下拉选择ADOConnection1,然后点选datasource,在左边框体找到dataset下拉选择adoquery1,然后再点选dbgrid,在左边框体找到datasource,下拉选择datasource1。双击刚才创建的按钮,假设你要打开的数据表名叫“

销售订单

”,输入

adoquery1.close

adoquery1.sql.clear

adoquery1.sql.add('select

*

from

销售订单

')

adoquery1.open

运行,按按钮如果dbgrid有数据显示表示连接成功了,以上所有功能实现均可通过代码或者手工设置。

由于ADO对象不直接支持MySQL,所以必须先安装MyODBC, 后者也是一个免费产品,在 www.mysql.org上有下载,安装好了MyODBC, 就可以在ODBC数据源管理中配置一个数据源名称,把它指向你想连接的MySQL数据库。代码如下:Sub connectMySQL() '通过MyODBC去连接MySQL数据库,并将Microsoft SQL Server 7 '的数据转进mysql中 Dim sConnect As String, sSql As String, i As Long Dim cnMSSQL As New ADODB.Connection Dim cnMySQL As New ADODB.Connection'声明并创建对象 连接 Dim rs As New ADODB.Recordset '声明并创建对象 记录集 Dim cm As New ADODB.Command '声明并创建对象 命令sConnect = "dsn=mysql1" '指定MySQL的数据源名称 cnMySQL.Open sConnect '连接到 mysqlsConnect="Provider=SQLOLEDB.1Persist Security Info=FalseUser ID=sapwd=123456Initial Catalog=softdownData Source=ntserver" '连接到 ms sql server 7 cnMSSQL.Open sConnect'sSql = "create table softinfo (softNum smallint,softname varchar(70),softdesc blob," &_ "softpath varchar(30),softleng varchar(10),softclass varchar(10),softsugest tinyint(1)," &_ "softdown smallint(4))" '创建新的MySQL数据表语句 sSql = "select * from softinfo order by softnum" rs.Open sSql, cnMSSQL, 1, 1 While Not rs.EOF sSql = "insert into softinfo values (" &Trim(rs(0).Value) &",'" &Trim(rs(1).Value) &_"','" &Trim(rs(2).Value) &"','" &Trim(rs(3).Value) &"','" &Trim(rs(4).Value) &_"','" &Trim(rs(5).Value) &"'," &Trim(rs(6).Value) &"," &Trim(rs(7).Value) &")" cm.ActiveConnection = cnMySQL cm.CommandType = adCmdText cm.CommandText = sSql cm.Execute rs.MoveNext Wendrs.Close Set rs = NothingcnMySQL.Close Set cnMySQL = NothingcnMSSQL.Close Set cnMSSQL = Nothing End Sub


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

原文地址: http://outofmemory.cn/zaji/6104540.html

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

发表评论

登录后才能评论

评论列表(0条)

保存