连接到 SAMPLE 数据库,查询 LASTNAME 为 JOHNSON 的FIRSTNAME 信息。
#include
#include
#include
#include "util.h"
#include
EXEC SQL INCLUDE SQLCA; (1)
main()
{
EXEC SQL BEGIN DECLARE SECTION; (2)
char firstname[13];
char userid[9];
char passwd[19];
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO sample; (3)
EXEC SQL SELECT FIRSTNME INTO :firstname (4)
FROM employee
WHERE LASTNAME = 'JOHNSON'; (4)
printf( "First name = %s\n", firstname );
EXEC SQL CONNECT RESET; (5)
return 0;
}
上面是一个简单的静态嵌入 SQL 语句的应用程序。它包括了嵌入 SQL 的主要部
分:
(1)中的 include SQLCA 语句定义并描述了 SQLCA 的结构。SQLCA 用于应用
程序和数据库之间的通讯,其中的 SQLCODE 返回 SQL 语句执行后的结果状态。
(2)在BEGIN DECLARE SECTION 和 END DECLARE SECTION 之间定义了宿
主变量。宿主变量可被 SQL 语句引用,也可以被 C 语言语句引用。它用于将程序
中的数据通过SQL 语句传给数据库管理器,或从数 据库管理器接收查询的结果。
在 SQL 语句中,主变量前均有 “:”标志以示区别。
(3)在每次访问数据库之前必须做CONNECT 操作,以连接到某一个数据库上。
这时,应该保证数据库实例已经启动。
(4)是一条选择语句。它将表 employee 中的LASTNAME 为 “JOHNSON”的行数
据的 FIRSTNAME 查出,并将它放在 firstname 变量中。该语句返回一个结果。可
以通过游标返回多个结果。当然,也可以包含update、insert 和 delete 语句。
(5)最后断开数据库的连接。
从上例看出,每条嵌入式 SQL 语句都用 EXEC SQL 开始,表明它是一条 SQL 语
句。这也是告诉预编译器在 EXEC SQL 和 “;”之间是嵌入 SQL 语句。如果一条
嵌入式 SQL 语句占用多行,在 C 程序中可以用续行符 “\”。
C 语言与 SQL SERVER 数据库
1.使用 C 语言来操作 SQL SERVER 数据库,采用 ODBC 开放式数据库连接进行数据
的添加,修改,删除,查询等操作。
step1:启动 SQLSERVER 服务,例如:HNHJ,开始菜单 ->运行 ->net start
mssqlserver
step2:打开企业管理器,建立数据库 test,在 test 库中建立 test 表 (a
varchar(200),b varchar(200))
step3:建立系统 DSN,开始菜单 ->运行 ->odbcad32,
添加->SQL SERVER
名称:csql,服务器:HNHJ
使用用户使用登录 ID 和密码的 SQLSERVER 验证,登录 ID:sa,密码:
更改默认的数据库为:test
...
测试数据源,测试成功,即 DNS 添加成功。
2.cpp 文件完整代码
//##########################save.cpp##########################
C 代码
1. #include
2. #include
3. #include
4