C使用FireBird方法.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用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)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档