目的是读取到数据后送给数组再对数组处理
char *a[50000];
char *b[50000];
。
while( !recset.IsEOF() )
{
// Read the result line
recset.GetFieldValue("time",sItem1);
recset.GetFieldValue("source",sItem2);
recset.GetFieldValue("Target",sItem3); ////////////////
//数据传送到数组
//////////////////////////////// a[i1]=sItem2.GetBuffer(sItem2.GetLength() + 1);
sItem2.ReleaseBuffer();
b[i1]=sItem3.GetBuffer(sItem3.GetLength() + 1);
sItem2.ReleaseBuffer();
i1++;
// Skip to the next resultline
recset.MoveNext();
} // Close the database
database.Close();
} CATCH(CDBException, e)
{
// A database exception occured. Pop out the details...
AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;
printf("%s\n",a[i1]);
printf("%s\n",b[i1]);
1.为什么数据没有显示出来呢?2.但如果把printf("%s\n",a[i1]);printf("%s\n",b[i1]);放到a[i1]=sItem2.GetBuffer(sItem2.GetLength() + 1);sItem2.ReleaseBuffer();b[i1]=sItem3.GetBuffer(sItem3.GetLength() + 1);sItem2.ReleaseBuffer();的后面就可以显示啊,这又是问什么呢?
怎样我才能出现1.中我想要的结果呢?
请高手回答。。
谢谢!!!
char *a[50000];
char *b[50000];
。
while( !recset.IsEOF() )
{
// Read the result line
recset.GetFieldValue("time",sItem1);
recset.GetFieldValue("source",sItem2);
recset.GetFieldValue("Target",sItem3); ////////////////
//数据传送到数组
//////////////////////////////// a[i1]=sItem2.GetBuffer(sItem2.GetLength() + 1);
sItem2.ReleaseBuffer();
b[i1]=sItem3.GetBuffer(sItem3.GetLength() + 1);
sItem2.ReleaseBuffer();
i1++;
// Skip to the next resultline
recset.MoveNext();
} // Close the database
database.Close();
} CATCH(CDBException, e)
{
// A database exception occured. Pop out the details...
AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;
printf("%s\n",a[i1]);
printf("%s\n",b[i1]);
1.为什么数据没有显示出来呢?2.但如果把printf("%s\n",a[i1]);printf("%s\n",b[i1]);放到a[i1]=sItem2.GetBuffer(sItem2.GetLength() + 1);sItem2.ReleaseBuffer();b[i1]=sItem3.GetBuffer(sItem3.GetLength() + 1);sItem2.ReleaseBuffer();的后面就可以显示啊,这又是问什么呢?
怎样我才能出现1.中我想要的结果呢?
请高手回答。。
谢谢!!!
CATCH(CDBException, e)
{
// A database exception occured. Pop out the details...
AfxMessageBox("Database error: "+e->m_strError);
}
--->
CATCH(CDBException* e)
{
// A database exception occured. Pop out the details...
e->ReportError();
e->Delete();
}