一、为什么要在C语言程序中执行SQL语句?
在C语言程序中执行SQL语句的原因有以下几个:
(1)程序需要获取数据库中某数据表的字段值,并对这些字段值进行解析以执行后续操作。
(2)程序需要更新数据库中某数据表的字段值。
(3)程序需要向某数据表中插入值。
(4)程序需要从某数据表中删除一些值。
(5)程序需要执行某存储过程以完成特定的操作。
可以看出,在C语言程序中,不只要求能够执行“select”、“update”、“insert”、“delete”等语句,还要求能够执行存储过程。
二、C语言程序与数据库打交道的方式
C语言程序与数据库打交道的方式分为直连(同步)和非直连(异步)两种,它们的特点如下所示:
1.直连方式
在该方式中,C语言程序直接与数据库进行消息的交互,如图1所示。
图1直连方式示意图
该方式的优点是消息交互是即时的,C语言程序向数据库发送消息之后,很快就能够得到结果;缺点是如果数据库执行缓慢,那么C语言程序需要挂在那里等待结果,影响了程序执行效率。
2.非直连方式
在该方式中,C语言程序通过一个独立的第三方模块间接与数据库进行消息的交互,如图2所示。
图2非直连方式示意图
该方式的优点是当C语言程序向第三方模块发送消息之后,可以不用等待数据库返回结果而去执行其它流程;缺点是如果消息序列号没有定义好,那么极有可能会导致第三