C使用FireBird方法.docVIP

  • 2
  • 0
  • 约7.68千字
  • 约 6页
  • 2017-06-09 发布于北京
  • 举报
使用IBPP在C++中操作FireBird/Interbase数据库 FireBird是一种小巧的关系型数据库,它有多种版本,包括服务器版(象MySQL),单机版(象Access)以及嵌入式(象SQLite)。而且不管是服务器版还是嵌入式版它都完整支持视图、触发器、存储过程等SQL高级特性。 问题是它提供的C API“不太友好”,不容易掌握(特别是我),所以我一直只会在C++Builder里编程使用FireBird(因为FireBird源于 Borland的InterBase,VCL库自带了InterBase的组件),直到有一天我发现了IBPP... IBPP是一个 FireBird/Interbase数据库API的C++包装,使用起来也比较简单,只要把IBPP源码目录里的 core/all_in_one.cpp加入工程,在代码中包含头文件ibpp.h,最后根据操作系统预定义一个IBPP_WINDOWS或 IBPP_UNIX的宏即可。 另外,当然还要安装FireBird客户端,如果只是学习,我们可以下载嵌入式版本。IBPP首先要找到FireBird的动态库,在Windows下, IBPP在下面的路径中查找: 在程序目录下查找fbembed.dll 在程序目录下查找fbclient.dll 依据DefaultInstance注册表键值查找fbclient.dll 在系统定义位置查找fbclient.dll 在系统定义位置查找gds32.dll FireBird主页: IBPP主页: 关于FireBird的中文教程我推荐姚启红编著的《Borland InterBase7.0 应用开发指南》(网上一找一大堆)。 例一,基本应用 #include iostream #include ibpp.h using namespace std; //数据库名,根据你的情况更改。 const char* g_szDBName = d:\\test.fdb; //服务器名,针对服务器版本。对于嵌入式,它应该是 const char* g_szServerName = ; //这里的用户名和密码是FireBird默认值,对于服务器版,用你自己的密码 //对于嵌入式,就是这个(FireBird嵌入式版没有加密功能)。 const char* g_szUserName = SYSDBA; const char* g_szPassword = masterkey; int main() { IBPP::Database db = IBPP::DatabaseFactory(g_szServerName, g_szDBName, g_szUserName, g_szPassword); //建立数据库 db-Create(3); //连接数据库 db-Connect(); IBPP::Transaction tr = IBPP::TransactionFactory(db); tr-Start(); try{ IBPP::Statement st = IBPP::StatementFactory(db,tr); //建立数据表 st-Execute( CREATE TABLE TESTTABLE( ID INTEGER NOT NULL PRIMARY KEY, RNO VARCHAR(10) NOT NULL UNIQUE, SHIFT VARCHAR(5) NOT NULL CHECK(SHIFT IN(A,B,C,D)), LINE CHAR(20) NOT NULL, SL COMPUTED BY(SHIFT||.||LINE), EMP CHAR(20) ) ); tr-CommitRetain(); //插入数据,华安和小强 st-Execute( INSERT INTO TESTTABLE(ID,RNO,SHIFT,LINE,EMP) VALUES(1,B9527,B,DAZHA,Hua,An) );

文档评论(0)

1亿VIP精品文档

相关文档