社区
数据库
帖子详情
ADO访问数据库的数据类型转换问题
u011104519
2013-06-26 03:34:16
在用ADO访问数据库时,读取数据的数据类型是_variant_t,怎样将其转化成VC里的数据类型CString、int、或是其它的数据类型。
...全文
121
4
打赏
收藏
ADO访问数据库的数据类型转换问题
在用ADO访问数据库时,读取数据的数据类型是_variant_t,怎样将其转化成VC里的数据类型CString、int、或是其它的数据类型。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
肆水東澤
2013-06-26
打赏
举报
回复
数值的 (int)(_variant_t)pRecord->GetCollect("XXX");//或float 字符的 (char*)(_bstr_t)pRecord->GetCollect("XXX");//或LPCTSTR
清水泠泠
2013-06-26
打赏
举报
回复
_variant_t name; name= m_pRecordset->GetCollect("name"); CString str = (LPCTSTR)(_bstr_t)name;
jimette
2013-06-26
打赏
举报
回复
_variant_t var; ........ //CString ::VariantChangeType(&var,&var,0,VT_BSTR); CString str=var.bstrval; //时间 ::VariantChangeType(&var,&var,0,VT_DATE); COleDateTime odatetime=var.date 整形 ::VariantChangeType(&var,&var,0,VT_I2 ); int ivar=var.iVal 浮点 ::VariantChangeType(&var,&var,0,VT_R4 ); float fvar=var.fltVal 货币 ::VariantChangeType(&var,&var,0,VT_CY ); COleCurrency ocvar=var.cyVal;
清水泠泠
2013-06-26
打赏
举报
回复
你可以去看看_variant_t,他是一个封装好的类,构造函数如下 struct tagVARIANT { union { struct __tagVARIANT { VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; union { LONG lVal; BYTE bVal; SHORT iVal; FLOAT fltVal; DOUBLE dblVal; VARIANT_BOOL boolVal; _VARIANT_BOOL bool; SCODE scode; CY cyVal; DATE date; BSTR bstrVal; IUnknown __RPC_FAR *punkVal; IDispatch __RPC_FAR *pdispVal; SAFEARRAY __RPC_FAR *parray; BYTE __RPC_FAR *pbVal; SHORT __RPC_FAR *piVal; LONG __RPC_FAR *plVal; FLOAT __RPC_FAR *pfltVal; DOUBLE __RPC_FAR *pdblVal; VARIANT_BOOL __RPC_FAR *pboolVal; _VARIANT_BOOL __RPC_FAR *pbool; SCODE __RPC_FAR *pscode; CY __RPC_FAR *pcyVal; DATE __RPC_FAR *pdate; BSTR __RPC_FAR *pbstrVal; IUnknown __RPC_FAR *__RPC_FAR *ppunkVal; IDispatch __RPC_FAR *__RPC_FAR *ppdispVal; SAFEARRAY __RPC_FAR *__RPC_FAR *pparray; VARIANT __RPC_FAR *pvarVal; PVOID byref; CHAR cVal; USHORT uiVal; ULONG ulVal; INT intVal; UINT uintVal; DECIMAL __RPC_FAR *pdecVal; CHAR __RPC_FAR *pcVal; USHORT __RPC_FAR *puiVal; ULONG __RPC_FAR *pulVal; INT __RPC_FAR *pintVal; UINT __RPC_FAR *puintVal; struct __tagBRECORD { PVOID pvRecord; IRecordInfo __RPC_FAR *pRecInfo; } __VARIANT_NAME_4; } __VARIANT_NAME_3; } __VARIANT_NAME_2; DECIMAL decVal; } __VARIANT_NAME_1; }; 可以看到它里面包含很多常用的数据类型,其中就有int 所以,int类型可以直接用,不需要转换 ,不过Cstring麻烦点,先转换成BSTR类型,在转换为CString 因为_variant_t类中有BSTR类型,没有Cstring,但是BSTR中有Cstring
vc
ado
数据
库
介绍了VC中使用
ADO
访问
数据
库
的方法,包括
ADO
概述、在VC中使用
ADO
的步骤、常见
问题
解答等内容。覆盖
ADO
对象使用、
数据
类型转换
、异常处理等方面。
VC使用
ado
本文深入探讨了
ADO
数据
库
访问
的各个对象与方法,包括
ADO
概述、在VC中使用
ADO
的步骤、
ADO
接口简介、使用_ConnectionPtr接口、使用_RecordsetPtr接口、使用_CommandPtr接口、
数据
类型转换
、生成应用程序框架、利用智能指针进行
数据
库
操作、执行SQL命令并取得结果记录集、
访问
长
数据
、使用SafeArray
问题
、
访问
书签、设置过滤条件、索引与排序、事务处理等内容。
ASP中使用SQL时的
数据
类型转换
本文介绍了ASP中对
数据
库
的
访问
技术,通过ASP内置的
ADO
对象结合SQL语言操作
数据
库
。还给出一个ASP实例,详细说明了在ASP中利用SQL语言
访问
数据
库
及处理不同
数据
类型间转换的
问题
,包括常量和变量参数传递时的
类型转换
方法及注意事项。
oracle8i用
ado
读取blob,vc+
ado
存取oracle blob字段出现有关
问题
博客作者在使用 VC++ 和
ADO
访问
Oracle
数据
库
时遇到 BLOB 字段存储和读取
数据
不一致的
问题
。主要
问题
是
数据
类型转换
和内存管理不当导致的。解决方案包括正确地调整内存分配,确保
数据
类型匹配,并在存取 BLOB
数据
时使用正确的缓冲区大小。
ADO
、DAO、ODBC、RAO和OLE DB等概念及异同
本文详细介绍了
数据
库
访问
技术中的
ADO
、DAO、ODBC、RDO和OLE DB的概念。
ADO
作为DAO和RDO的后继者,提供了一种统一的
数据
访问
接口,兼容多种
数据
源。DAO主要用于Access
数据
库
,通过Jet引擎直接
访问
,而RDO适合大型关系
数据
库
如SQL Server。ODBC是通用的
数据
库
连接技术,适用于关系
数据
库
。OLE DB则是一个更全面的
数据
访问
标准,支持多种
数据
类型。文章还探讨了这些技术之间的异同以及它们的发展历程和适用场景。
数据库
4,017
社区成员
39,806
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章