Sybase DB-Library For Linux
日期:2007年6月2日 作者: 查看:[大字体 中字体 小字体]-
1.版本
在ASE(Adapative Server Enterprise)11.0.3.3 for Linux中,
附带Sybase DB-Library For Linux10.0.1.你可以查看$SYBASE/include/sybdb.h来获得它的版本号。
2.数据类型
Sybase DB-Library的C语言数据类型与ASE数据类型之间的对应
关系如下表所示:
DB-Library(C) ASE
DBTINYINT tinyint (1 byte integer)
DBSMALLINT smallint (2 bytes integer)
DBINT int (4 bytes integer)
DBCHAR char (less than 255 chars)
DBBINARY binary (less than 255 bytes)
DBVARBIN varbinary (less than 255 bytes)
DBBIT bit (0 or 1)
DBFLT8 float (8 bytes float type)
DBREAL real (4 bytes float type)
DBNUMERIC numeric (2-17 bytes)
DBDECIMAL decimal (2-17 bytes)
DBMONEY money (8 bytes money type)
DBMONEY4 smallmoney (4 bytes money type)
DBDATETIME datetime (8 bytes datetime type)
DBDATETIME4 smalldatetime(4 bytes datetime type)3.常用数据结构
DBPROCESS
LOGINREC4.DB-Library 的数据库访问过程
1).连接SQL-Server.
首先调用dbinit来初始化DB-Library环境,再调用dblogin等函数分配
LOGINREC结构
DBPROCESS *dbproc;
LOGINREC *login;dbinit(); /* 初始化DB-Library环境 */
login=dblogin(); /* 分配LOGINREC结构 */
DBSETUSER(login,"sa"); /* 设置登录帐号 */
DBSERTPWD(login,"passwd"); /* 设置登录口令 */
dbproc=dbopen(login,"mydbname") /* 建立数据库连接,
返回DBPROCESS结构指针 */2).命令处理
(1)命令添加函数dbcmd
dbcmd(dbproc,"select * from user");
dbcmd(dbproc," where name='glzhang'");
dbcmd将sql command添加到命令缓冲区中。(2) 命令执行函数dbsqlexec,dbsqlsend
dbsqlexec(dbproc);
若执行失败则阻塞。若成功则调用dbresults函数来处理结果,见后续章节。
dbsqlsend(dbproc);
传递sql后立即返回,可以使用dbsqlok(dbproc)来检查成功与否。
3) 结果集的处理
DB-Library 将select获得的数据集分成常规行和计算行两类。一般的处理方法有下面几种:
(a). 使用变量读取结果数据。
(b). 使用行缓冲方式处理结果行数据。
(c). 使用指针存取结果行数据。
由于篇幅所限,下面仅介绍使用变量读取结果数据的方法。使用变量读取结果行数据的时候,应该首先检查dbresultes的返回值
是否为SUCCEED。如果返回成功,则应该依次使用dbbind将常规结果列绑定到应用程序变量上,
用dbaltbind将计算结果列绑定到应用
程序变量上。然后再用dbnextrow来读取数据。(1).绑定常规结果列。
RETCODE dbbind(
PDBPROCESS dbproc,
INT column, /* 变量所绑定结果列的列号 */
INT vartype, /* 应用程序变量的数据类型 */
DBINT varlen, /* varaddr缓冲区的长度 */
LPBYTE varaddr /* 应用程序变量地址 */
)其中,vartype的取值为下表:
DB-Library(C) vartype
DBTINYINT TINYBIND
DBSMALLINT SMALLBIND
DBINT INTBIND
DBCHAR CHARBIND,STRINGBIND,NTBSTRINGBIND
DBBINARY BINARYBIND
DBVARBIN VARBINBIND
DBBIT BITBIND
DBFLT8 FLT8BIND
DBREAL FLT4BIND
DBNUMERIC NUMERICBIND,SRCNUMERICBIND
DBDECIMAL DECIMALBIND,SRCDECIMALBIND
DBMONEY MONEYBIND
DBMONEY4 SMALLMONEYBIND
DBDATETIME DATETIMEBIND
DBDATETIME4 SMALLDATETIBIND(2).绑定计算结果列。
RETCODE dbaltbind (
PDBPROCESS dbproc,
INT computeid, /* COMPUTE 子句id号*/
INT column,
INT vartype,
DBINT varlen,
LPCBYTE varaddr
)(3).读取数据。
STATUS dbnextrow(PDBPROCESS dbproc)4) 关闭连接
dbclose(dbproc); /* 关闭dbproc连接 */
dbexit(); /* 关闭所有连接 */5) 应用举例
查询数据库sql中的表author的所有的passWord.(a).示例程序。(test.c)
#include
#include
#include
#include
#include
#include "sybdbex.h"
#define DATELEN 26
#define TYPELEN 2
main(argc, argv)
int argc;
char *argv[];
{DBPROCESS *dbproc; /* Our connection with SQL Server. *
LOGINREC *login; /* Our login information. */
DBCHAR password[20];
RETCODE result_code; - [1] [2] [3] [4] 下一页
-
- Sybase DB-Library For Linux 相关文章:
- Sybase DB-Library For Linux 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·Linux学习手册
- ·在Linux 和FireWire上创建自己的RAC 集群
- ·Linux操作系统源代码详细分析
- ·linux知识大全
- ·Linux/Unix环境下的make命令详解
- ·RPM命令大全
- ·Linux From Scratch安装学习笔记
- ·在Linux下配置TCP/IP
- ·为CanonPIXMAiP1000喷墨打印机安装驱动程序
- ·常见端口表汇总
- ·Pure-FTPd + LDAP + MySQL + PGSQL + Virtual-Users + Quota How To
- ·LINUX 常见问题1000个详细解答
- ·万能声卡驱动(Alsa)的安装方法
- ·Linux管理工具介绍
- ·hdparm硬盘加速
- ·Linux发行版图标大全
- ·Linux中系统整体性能监控工具详细介绍
- ·长篇连载--arm linux演艺---序
- ·Bourne shell编程入门及脚本测试
- ·重安装gentoo 2005.1 for AMD64版经验
特别推荐
- ·Linux管理工具介绍
- ·Linux操作系统源代码详细分析
- ·Linux下用pptp连接VPN服务器
- ·在linux7.1上安装jdk+tomcat+oracle9i笔记
- ·Linux学习手册
- ·学习Linux的八点忠告
- ·深入分析Linux防火墙
- ·UNIX系统后门的安放和日志的擦除
- ·揭开Expect的神秘面纱
- ·万能声卡驱动(Alsa)的安装方法
- ·长篇连载--arm linux演艺---序
- ·为CanonPIXMAiP1000喷墨打印机安装驱动程序
- ·详细讲解Linux系统下ADSL拨号上网方法
- ·使用ImageMagick 的提示与技巧
- ·轻松实现 Linux系统下互联网过滤功能
- ·Linux下一些故障现象以及解决的相关资源
- ·重安装gentoo 2005.1 for AMD64版经验
- ·Linux/Unix环境下的make命令详解
- ·只需十分钟 Linux环境下快速搭建维基网站
- ·常见端口表汇总
