
黑马程序员c语言教程:c概念简介.docx
4页Pro*C/C++简介 1概念什么是 Pro*C/C++ 通过在过程化编程语言 C/C++中嵌入 SQL语句而开发出的应用程序什么是嵌入式 SQL 在通用编程语言中使用的 SQL 称为嵌入式 SQL 在 SQL标准中定义了多种语言的嵌入式 SQL 各个厂商对嵌入式 SQL 的具体实现不同什么是 Pro*C/C++程序 在 C/C++语言中嵌入 SQL语句而开发出的应用程序称为 Pro*C/C++程序 目的:使 c/c++这种高效率语言成为访问数据库的工具什么是宿主语言嵌入式 SQL 的载体是宿主语言宿主语言 Pro 程序C/C++ Pro*C/C++FORTRAN Pro*FORTRANPASCAL Pro*PASCALCOBOL Pro*COBOLPL/I Pro*PL/IAda Pro*Ada访问数据库的方法 (1) 用 SQL*Plus, 它有 SQL 命令以交互的应用程序访问数据库; (2)用第四代 语言应用开发工具开发的应用程序访问数据库,这些工具有SQL*Froms,QL*Reportwriter,SQL*Menu 等; (3) 利用在第三代 语言内嵌入的 SQL语言或 ORACLE库函数调用来访问。
访问 oracle 数据库的方法官方文档权威解释 The term embedded SQL refers to SQL statements placed within an application program. Because it houses the SQL statements, the application program is called a host program, and the language in which it is written is called the host language. For example, Pro*C/C++ provides the ability to embed certain SQL statements in a C or C++ host program.官方文档路径 1 开发文档路径: F:/E11882_01_oracle 官方文档/2 Precompiler Concepts/Key Concepts of Embedded SQL Programming/ 2 SQL书路径:左上角 booklist SQL Developer User's GuideSQL Language Quick ReferenceSQL Language Reference2程序结构Pro*C 程序实例 #include #include #include #include "sqlca.h"EXEC SQL BEGIN DECLARE SECTION;char username[32];char password[32];char dname[25];EXEC SQL END DECLARE SECTION;EXEC SQL INCLUDE sqlca;void sqlerror();main(){EXEC SQL WHENEVER SQLERROR DO sqlerror();strcpy(username,“itcast");strcpy(password, “itcast");EXEC SQL CONNECT:username IDENTIFIED BY:password;EXEC SQL select dname into :dname from dept where id=10;printf(“dname:%s \n”, dname);}void sqlerror(){EXEC SQL WHENEVER SQLERROR CONTINUE;printf("\n---- oracle error detected:\n");printf("%.70s\n", sqlca.sqlerrm.sqlerrmc);EXEC SQL ROLLBACK WORK RELEASE;exit(1);}Pro*C 程序结构• Include 头文件 (c/c++ and pro*c/c++)• 定义变量• 定义函数• main 连结数据库: connectSQL 操作语句: EXEC SQL …….;exception handler断开连结:EXEC SQL COMMIT / ROLLBACK WORK release。












