MFC 联接SQL数据库,可连接,但是无法读取表的值,求教
MFC 连接SQL数据库,可连接,但是无法读取表的值,求教
经测试,连接数据库能成功,但是从数据库表取值失败,估计是类型转换问题,代码如下:
表有四列POS1,POS2,POS3,CRC,都是int类型
请教如何解决?而且不知道错在哪.....
------解决方案--------------------
去这里右上角搜索"ado"。http://www.vckbase.com
经测试,连接数据库能成功,但是从数据库表取值失败,估计是类型转换问题,代码如下:
CoInitialize(NULL);
try
{
_ConnectionPtr pConn("ADODB.Connection");
pConn->Open("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=lhw;Initial Catalog=CRC16;Data Source=ACER-PC;Server=localhost","lhw","lhw",adConnectUnspecified);
_RecordsetPtr pRs("ADODB.Recordset");
pRs->Open("Select * From CRC",_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);
//////////////////////////////////////////////以上都没问题,调试发现下面报错
while (!pRs->EndOfFile)
{
r1=atoi(_bstr_t(pRs->GetCollect("POS1")));//运行到这出错,本来想用这个语句读取表中数据
r2=atoi(_bstr_t(pRs->GetCollect("POS2")));
r3=atoi(_bstr_t(pRs->GetCollect("POS3")));
pRs->AddNew();
pRs->Fields->Item["CRC"]->Value=_variant_t(long((crc16bitfor1(r1)^crc16bitfor1(r2))^crc16bitfor1(r3)));//这个语句用来添加数据
}
pRs->Close();
pConn->Close();
}
catch(_com_error&e)
{
MessageBox(e.ErrorMessage());
}
表有四列POS1,POS2,POS3,CRC,都是int类型
请教如何解决?而且不知道错在哪.....
数据库
SQL
MFC
------解决方案--------------------
去这里右上角搜索"ado"。http://www.vckbase.com