mysql在sdk中为c语言提供了一些访问接口,我们可以使用这些接口连接并访问mysql数据库,当然也可以调用mysql的存储过程。
例子:
首先下载mysql的sdk,解压好以后,里面包含一个include,和lib文件夹。我们在自己的工程中包含这两个文件夹的目录,并且设置好连接库选项即可。 我们先建立一个工程,运行下看看,再看其中的代码。
1. 这里我们使用vs2003建立一个空的window console工程,添加一个cpp源文件。
2. 拷贝最后面的源代码到cpp文件中。
3. 设置好工程路径:project --> properity --> c/c++下general选项中Additional include directories选项添加上面说的include目录。 project --> properity --> linker下general选项中Additional library directories中添加上面的lib目录。project --> properity --> linker下input选项中添加libmysql.lib文件。这样我们的工程就设置完毕。
4. 下面编译-连接-运行。在窗口中可以看到结果。
总结:
1. mysql提供mysql_query()来在c语言中使用sql语句来访问数据库。同理,我们可以使用该接口执行call processname()这个语法来调用mysql的存储过程。代码中也是这么使用的。
2. 这里我们需要提前在mysql数据库中创建一个存储过程,具体的创建方法,在文章【mysql存储过程简介 】中有介绍。
3. 包含mysql.h需要包含window.h才可以正常编译。
附
数据库说明:
该例子中,我们已经在test数据库中建立一个shop表,其中有三个字段,article int(4), dealer char(20), price double(16,2)。 存储过程为在shop表中增加一条记录。
mysql存储过程代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `AddInfo`(`_article` int(4), `_dealer` char(20), `_price` double(16,2) )
BEGIN
set @result = 0;
insert into shop values( _article, _dealer, _price );