C语言连接SQL数据库例子

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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语言用vc连接sql server 2000

2009/11/02 09:34 [sql server]

1.提取单条记录

db";

值比较

db";

示表格

db";

etLength()*15;

pList->InsertColumn(index,field_name,LVCFMT_CENTER,ColumnWidth);

}

int i=0;

_bstr_t vCol;

用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添加成功。

文件完整代码

1.据库操作中的添加,修改,删除,主要体现在SQL语句上

2. 2.采用直接执行方式和参数预编译执行方式两种

3.*/

4.int main(){

5.RETCODE retcode;

6.UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "csql",

7.szUID[MAXNAME] = "sa",

8.szAuthStr[MAXNAME] = "";

9.接数据源

10.境句柄

11.retcode = SQLAllocHandle (SQL_HANDLE_ENV, NU

LL, &henv);

12.retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSI

ON,

13.(SQLPOINTER)SQL_OV_ODBC3,

14.SQL_IS_INTEGER);

15.接句柄

16.retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv,

&hdbc1);

17.retcode = SQLConnect(hdbc1, szDSN, 4, s

zUID, 2, szAuthStr, 0);

18.建并执行一条或多条SQL语句

19./*

20. 1.分配一个语句句柄(statement handle)

21. 2.创建SQL语句

22. 3.执行语句

23. 4.销毁语句

24.*/

25.retcode = SQLAllocHandle(SQL_HANDLE_STMT,

hdbc1, &hstmt1);

26.开数据源

27./*

28. 1.断开与数据源的连接.

29. 2.释放连接句柄.

30. 3.释放环境句柄(如果不再需要在这个环境中作更多连接)

31.*/

32.SQLDisconnect(hdbc1);

33.SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);

34.SQLFreeHandle(SQL_HANDLE_ENV, henv);

35.return(0);

36.}

1.件查询,

2.直接查询全部

2.*/

3.int main(){

4.RETCODE retcode;

5.UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "csql",

6.szUID[MAXNAME] = "sa",

7.szAuthStr[MAXNAME] = "";

8.UCHAR sql1[39] = "select b from test where a = 'aa

a'";

相关文档
最新文档