- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(C使用FireBird方法
使用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)
);
您可能关注的文档
- [【2013上海浦东新区二模】上海市浦东新区2013届高三下学期二模语文试题.doc
- [【2013河西二模】天津市河西区2013届高三总复习质量检测二历史Word版含答案.doc
- [【2014上海闵行一模】上海市闵行区2014届高三上学期期末考试一模化学试题Word版含解析.doc
- [【2014大连市二模】辽宁省大连市2014届高三第二次模拟考试历史试题Word版含答案.doc
- [【2014泰安市一模】山东省泰安市2014届高三第一轮复习质量检测历史试题Word版含解析by史.doc
- [【2015中考政治常考易错点】专题十二弘扬民族精神.doc
- [【2014潍坊市一模】山东省潍坊市2014届高三3月模拟考试英语试题Word版含解析.doc
- (CB18表.doc
- [【6周年】2011年成人高考大学语文专升本模拟预测试卷3中大网校.doc
- (Cbacxij手机JAVA程序下载安装方法大全.doc
最近下载
- Linux网络操作系统配置与管理 第四版 项目3 文件和目录的管理.ppt VIP
- 医学课件-肝功能衰竭.pptx VIP
- 《保教政策法规与职业道德》中职幼儿保育专业全套教学课件.pptx
- 肝功能衰竭医学科普.pptx
- 2024-2025学年广东省深圳中学九年级(上)开学数学试卷(含详解).pdf VIP
- 《肝功能衰竭》课件课件-2024鲜版.ppt VIP
- 通桥(2014)2132-Ⅳ(跨度31.5m) (附条文及目录 ).pdf VIP
- 儿科学麻疹病例分析,病例导入法.docx VIP
- 燃煤锅炉超低排放治理工程项目实施方案(参考).docx
- 24012NDS00 NDS试验测试标准.doc VIP
文档评论(0)