读书人

为什么得不到数据,该如何解决

发布时间: 2012-04-07 17:31:51 作者: rapoo

为什么得不到数据
在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.

读书人网 >C++

热点推荐