为什么得不到数据
在VC++控制台下用ADO操作数据库为什么得不到数据:
完整代码如下:
#import "c:\program files\common files\system\ado\msado15.dll " no_namespace rename( "EOF ", "adoEOF ")
#include <iostream.h>
void main()
{
try
{
OleInitialize(NULL);
_ConnectionPtr mydb;
mydb.CreateInstance( "ADODB.Connection ");
mydb-> ConnectionTimeout=20;
mydb-> Open( "provider=sqloledb;server=192.168.1.111;database=ticketbull_concert;uid=ticketbull;pwd=playboy@2008# ", " ", " ",-1);
_RecordsetPtr myset;
myset.CreateInstance( "ADODB.Recordset ");
myset-> Open( "select * from student ",_variant_t((IDispatch*)mydb,true),adOpenDynamic,adLockOptimistic,adCmdText);
if(!myset-> adoEOF)
{
char username[30]={0};
myset-> get_Collect(_variant_t( "name "),(_variant_t *)username);
cout < <username < <endl;
}
myset-> Close();
mydb -> Close();
}
catch(_com_error & e)
{
cout < < "connect fail... " < <endl;
}
}
[解决办法]
http://www.vckbase.com/document/viewdoc/?id=307
or
http://lib.hackbase.com/html/1/2931.htm
[解决办法]
BSTR a=myset-> Fields-> GetItem( "name ")-> Value.bstrVal;
这样OK.