- 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)
);
您可能关注的文档
- CALLING动漫歌曲歌词中日互译有罗马音注释.doc
- candece快捷键说明.doc
- CAN总线传送到数据是基于消息而不是地址的.docx
- CASS内业补充程序命令.doc
- Cathy的静心话语:接纳自己.doc
- CATIA在机械制图教学中的应用.doc
- CC(含数据结构)知识点.doc
- CCU是医院中病情重.doc
- CC结构体字节对齐详解.docx
- CC返回内部静态成员的陷阱.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)