我现在在WINCE下OLE DB+SQL3.5开发
现在需要实现一个查询数据库的全部数据.
在使用中出现了点问题
数据库类型字符串,时间,整型
出现的问题:读取多条数据时候,第一条数据显示是正常,第二条数据以后的数据字符串就会变空了,时间跟整型是正常的,问题出现在SafeArrayPutElement
变量体已经获取数据库的数据已证实,当运行完SafeArrayPutElement 变量体的数据变空了.第一条数据的时候不会出现这种现象
部分代码
SAFEARRAYBOUND rgsabound[2];
SAFEARRAY* pArray;
VARIANT vValue;
long location[2] ={0, 0};
if (Rows > 1)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = ulNumCols;
rgsabound[1].lLbound = 0;
rgsabound[1].cElements = Rows;
pArray = SafeArrayCreate(VT_VARIANT, 2, rgsabound);
}
else if(Rows == 1)
{
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = ulNumCols;
pArray = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
}
for()
{
for()
{
location[0] = nCol;
location[1] = Rows;
SafeArrayPutElement(pArray, location, &vValue);
}
}
pvar.vt = VT_ARRAY;
pvar.parray = pArray;
以前是写进安全数组
在外部读的时候是
VARIANT var, result;
VariantInit(&result);
for ()
{
for ()
{
location[0] = cols;
location[1] = rows;
result.vt = ****;
SafeArrayGetElement(var.parray, location, &result);
}
}
VariantClear(&result);