数据库编程笔录之四

本篇想说一下如何获取记录集中各种类型的数值。比如数据库中定义的是varchar类型等,我们获取数据时该怎么写呢?这里我提供一些宏定义,大家只要在stdafx.h或者其它需要使用这些宏的地方插入这些语句,就可以很轻松的获取数据库中的数据了。与数据库是何种类型没有关系。
#define CREATEINSTANCE(sp,riid) {HRESULT _hr=sp.CreateInstance(__uuidof(riid));if(FAILED(_hr)) _com_issue_error(_hr);}
这是创建数据库连接,command和记录集对象使用的。可以这样调用:
CREATEINSTANCE(m_piConnection,Connection);

#define RsITEM(rs,x) rs->Fields->Item[_variant_t(x)]->Value
#define RsITEM_BSTR(rs,x) (RsITEM(rs,x).vt == VT_NULL)?CString(""):RsITEM(rs,x).bstrVal
#define RsITEM_DOUBLE(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0:RsITEM(rs,x).dblVal
#define RsITEM_LONG(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0:RsITEM(rs,x).lVal
#define RsITEM_BYTE(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0:RsITEM(rs,x).bVal
#define RsITEM_DATE(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0:RsITEM(rs,x).date
#define RsITEM_BOOL(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0:RsITEM(rs,x).boolVal
#define RsITEM_DECIMAL(rs,x) (RsITEM(rs,x).vt == VT_NULL)?0.0:RsITEM(rs,x)
以上宏就是获取数据库中字符串,double型,整数,日期,布尔和numeric等类型的数据。
调用例程如下:
                                sShipInfo.sMMSIID        =        RsITEM_BSTR(piRecordset,"MMSI_ID");
                                sShipInfo.sCallSign        =        RsITEM_BSTR(piRecordset,"CALL_SIGN");
                                sShipInfo.sShipName        =        RsITEM_BSTR(piRecordset,"NAME");
                                sShipInfo.fCOG                =        RsITEM_DECIMAL(piRecordset,"COG");
                                sShipInfo.fSOG                 =        RsITEM_DECIMAL(piRecordset,"SOG");
                                sShipInfo.wBreadth         =        RsITEM_LONG(piRecordset,"WIDTH");
                                sShipInfo.wLength          =        RsITEM_LONG(piRecordset,"LENGTH");
                                sShipInfo.latLong.dLatitude                = RsITEM_DECIMAL(piRecordset,"LAT");
                                sShipInfo.latLong.dLongitude        = RsITEM_DECIMAL(piRecordset,"LONG");
                                sShipInfo.reptTime = RsITEM_DATE(piRecordset,"REPT_TIME");
由于数据库调用并没有图例,所以没有图片可以贴出。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 系统概述 本系统是一款基于Python语言的笔录辅助系统,能够帮助用户轻松地记录会议、讲座、谈判等场合的笔录内容,并能够对笔录进行分类、搜索、导出等操作,提高笔录的管理效率和利用价值。 2. 系统功能 (1)新建笔录:用户可以通过系统新建一个笔录,输入笔录名称、时间、地点等基本信息,并逐步输入笔录内容; (2)分类管理:用户可以将笔录按照不同的分类进行管理,如会议笔录、讲座笔录、谈判笔录等; (3)搜索功能:用户可以通过关键词搜索笔录内容,系统能够快速定位到相关笔录; (4)导出功能:用户可以将笔录导出为Word、PDF等格式,方便分享和保存; (5)权限管理:系统管理员可以对用户进行权限管理,限制用户对笔录的访问和修改权限。 3. 系统架构 本系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术实现页面展示,后端使用Python语言实现业务逻辑处理和数据存储,数据库采用MySQL。 4. 系统流程 (1)用户登录系统; (2)用户进入主界面,可以进行新建笔录、分类管理、搜索、导出等操作; (3)用户新建笔录时,输入基本信息,并逐步输入笔录内容; (4)用户可以对已有笔录进行分类管理,将笔录按照不同的分类进行归档; (5)用户可以通过关键词搜索笔录内容,系统能够快速定位到相关笔录; (6)用户可以将笔录导出为Word、PDF等格式,方便分享和保存; (7)系统管理员可以对用户进行权限管理,限制用户对笔录的访问和修改权限。 5. 系统实现 本系统采用Python Flask框架实现后端业务逻辑,使用MySQL数据库存储笔录数据。前端使用Bootstrap框架实现页面展示,采用Ajax技术实现前后端数据交互。 6. 系统优化 (1)采用分布式架构:将系统拆分为多个模块,提高系统的可扩展性和可维护性; (2)引入机器学习算法:通过机器学习算法对笔录进行自动分类和关键词提取,提高系统的智能化程度; (3)引入语音识别技术:通过语音识别技术将语音转化为文本,提高笔录的录入效率和准确率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值