mysql5.0以后就支持存储过程了,目前mysql的6.0Alpha版也已经推出。6.0不仅支持大型数据库如oracle等的绝大部分功 能,如存储过程、视图、触发器、job等等,而且修正了这些功能所存在的bug,其中6.0.1还支持64位windows,以及表空间。
在c/c++中访问mysql,常见的只是一些简单的业务,使用c中嵌入简单的查询、 插入、更新等操作即可。随着业务的复杂化,完成一个业务功能需要非常多的sql操作环节,把这些语句都嵌入c代码中会导致c代码越来越繁琐、不清晰,这时 候,自然就想到了存储过程来封装所有的数据库逻辑,通过c简单调用mysql存储过程接口即可达到目的,极大地减轻了c程序员的工作量,也便于前端业务处 理逻辑与数据库处理逻辑的分离。下面就介绍c语言调用存储过程的简单的方法。
1、首先创建一张表
用于存放用户信息
Create table student(
);
2、插入几条信息
Insert into student values(1,"zhouys",90, "");
commit;
3、查看用户信息
mysql> select * from student;
+------+-----------+------+----------+
| id
+------+-----------+------+----------+
|
+------+-----------+------+-----------+
1 row in set (0.00 sec)
mysql>
4、创建存储过程
如下:
delimiter //
create procedure querystudent(
)
label_a:begin
end;
//
delimiter ;
5、c语言调用存储过程
调用方法或步骤:
5.1、初始化Mysql句柄
if(!mysql_init(&mysql))
5.2、连接到mysql
//login or connect
5.3、调用存储过程
5.4、查询结果集并保存
mysql_query(&mysql, "SELECT @ret,@ out_name,@ out_age ");
5.5、获取查询结果
while((record = mysql_fetch_row(results))) {
一般存储过程只会有一行的返回结果,^_^.
5.6、释放资源与mysql连接句柄
mysql_free_result(results);
mysql_close(&mysql);
6、结束语