安装mysql.dox_MySQL在Windows上的安装及VC通过ODBC连接MySQL数据库

一、MySQL的安装

1、下载地址

2、下载内容

(1)mysql-noinstall-5.0.45-win32.zip

(2)mysql-gui-tools-noinstall-5.0-r12-win32.zip

(3)mysql-connector-odbc-noinstall-3.51.21-win32.zip

3、安装步骤

3.1 安装MySQL服务

(1)新建My.ini,内容如下,把该文件放在系统盘Windows文件夹内:

[WinMySQLAdmin]

Server=D:/MySQL-DB/mysql-5.0.45-win32/bin/mysqld-nt.exe

[mysql]

default-character-set=utf8

[client]

default-character-set=utf8

[mysqld]

default-character-set=utf8

basedir=D:/MySQL-DB/mysql-5.0.45-win32

datadir=D:/MySQL-DB/mysql-5.0.45-win32/data

其中basedir是安装目录。

(2)打开MS-DOS窗口,切换到“D:/MySQL-DB/mysql-5.0.45-win32/bin”目录;或者把“D:/MySQL-DB/mysql-5.0.45-win32/bin”添加到“环境变量”的“Path”变量中;执行命令如下:

mysqld-nt -install

(3)启动和停止mysql服务

D:/MySQL-DB/mysql-5.0.45-win32/bin>net start mysql

D:/MySQL-DB/mysql-5.0.45-win32/bin>net stop mysql

(4)移出mysql服务

mysqld-nt --remove

3.2 安装MySQL GUI

(1)把下载的mysql-gui-tools-noinstall-5.0-r12-win32.zip解压到D:/MySQL-GUI/MySQL GUI Tools 5.0目录中。

(2)双击该目录下的MySQLSystemTrayMonitor.exe

(3)在弹出界面中使用root用户登陆,密码为空

(4)登陆后在 User Administration中可以添加新用户、修改密码及分配新加用户对数据库的权限,在Catalogs中可以创建schema。

(5)使用该GUI可以建立存储过程、表等。

3.3 安装MySQL ODBC驱动

(1)把mysql-connector-odbc-noinstall-3.51.21-win32解压到D:/MySQL-ODBC/mysql-connector-odbc-noinstall-3.51.21-win32下,可以修改路径。

(2)在cmd下进入该目录,运行命令

Install 0

安装成功,在数据源中会显示MySQL的驱动程序。

二、VC通过ODBC连接MySQL

1、VC中代码如下

#define     CONNECT_COMMAND                 _T("DSN=SpecialIntroduce;Driver={MySQL   ODBC   3.51   Driver};UID=cmsuser;PWD=cmspassword")

(1)判断数据库是否连接

CDatabase m_dbBase;

m_dbBase.SetLoginTimeout(15);

bConnect = m_dbBase.OpenEx(CONNECT_COMMAND,CDatabase::openReadOnly | CDatabase::noOdbcDialog);

(2)调用存储过程事例

CString strSql;

strSql.Format(L"{CALL procGetSpecialMenuInfoBySMname('%s')}",strMname);

try

{

recordSet.Open(CRecordset::forwardOnly,strSql,CRecordset::readOnly);

}

catch(CException * e)

{

e->ReportError();

}

while (!recordSet.IsEOF())

{

recordSet.GetFieldValue(_T("SMid"),var);

menuInfos.Mid = (int)var.m_iVal;

recordSet.GetFieldValue(_T("SMname"),menuInfos.Mname);

recordSet.GetFieldValue(_T("SMprice"),menuInfos.Mprice);

recordSet.GetFieldValue(_T("SMmeasure"),menuInfos.Mmeasure);

recordSet.MoveNext();

}

recordSet.Close();

最后,若VC界面显示有中文,在配置数据源时,在Connection Options界面的character set 选项中选择gb2312既可以。

三、MySQL建表及存储过程事例

DROP TABLE IF EXISTS `TableName`;

CREATE TABLE IF NOT EXISTS `TableName`

(

`SMid` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`SMname` VARCHAR(20) NOT NULL,

`SMname1` VARCHAR(20) NOT NULL,

`SMmeasure` VARCHAR(6) NOT NULL,

`SMprice` DECIMAL(18,2) NOT NULL,

`SMstatus` BIT NOT NULL DEFAULT 1,

`SMremark` VARCHAR(200),

CONSTRAINT FK_TableName_SMid PRIMARY KEY (`SMid`),

CONSTRAINT UQ_TableName_SMname UNIQUE (`SMname`)

)ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=UTF8;

DELIMITER $$

DROP PROCEDURE IF EXISTS `SchemaName`.`procGetxx` $$

CREATE PROCEDURE `SchemaName`.`procGetxx` (SMnames VARCHAR(20))

BEGIN

SELECT

`SMid`,

`SMname`,

`SMprice`,

`SMmeasure`

FROM

`TableName`

WHERE

`SMname` = SMnames;

END $$

DELIMITER ;

DELIMITER $$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值