ADO访问,假设第一列字段名为"id"按字段名访问,VB的格式: rs("id") VC中格式为:pRst->GetCollect("id")按字段序访问,VB的格式为: rs(0).Value VC中是什么?
解决方案 »
- 怎样改对话框的图标?
- 请问。Dx9渲染很多三角形(10000个)的问题。
- 请问如何在VC中画网络图
- program assertion failure
- 程序连接数据库时提示RUNTIME ERROR,谢谢
- 这个函数是什么意思:(这里没msdn) InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
- 请教一个简单的报错,大侠们请指点一二,最好能告知原因。
- 程序初始化时的问题,100分
- 怎样做 UG 的二次开发(ATT:Mr./miss Fiolin)
- 请问大家一个奇怪的问题,不知能否实现,多谢。
- 关于自绘制按钮的问题
- vc++6.0的问题.找不到ID:ID_FORMAT_LEFT,ID_FORMAT_RIGNT等
1、你可以通过以下方法获得总的列数long nCount = pRs->GetFields()->GetCount();2、通过索引获取数据_variant_t varIndex;
varIndex.ChangeType(VT_I4);
varIndex.intVal = 0;var = pRs->GetCollect(varIndex);注意 GetCollect 函数的参数,是 _variant_t 类型的,所以直接写 0 不行。不知道还有没有其它更简单的方法?
ADO是一种叫做COM的东西,COM的东西就是用于跨平台,所以在VC下用ADO和在ASP中用ADO是一样的!既然跨平台,那么有些数据类型就不能用,比如int,它是C语言的一个东西,VB等其它好多语言都不支持int数据类型!所以在ADO中,也没有int这种数据类型,而在C语言中,一个常数如果没有指定类型,默认为int型,而ADO并不支持int型,所以编译通不过!你可能会说,GetCollect需要一个_variant_t 型参数,与ADO什么关系呢?其实_variant_t只是一个VARIANT的包装类,VARIANT这是个COM的东西,所以在它的字典里,仍然没有int这个数据类型。所以会出现从int到_variant_t无法转换的错误!
数据库里的类型与VB的类型很匹配,而VC还要转。