vc mysql 查询_VC++ ADO查询mysql数据库报错

longi;intnItem;//暂时储存ListControl的行号try{m_pRecordset.CreateInstance("ADODB.Recordset");//m_pRecordset->Open("SELECT*FROMusers",_variant_t((IDispatch*)m_pConnection,...

long i;

int nItem; //暂时储存ListControl的行号

try

{

m_pRecordset.CreateInstance("ADODB.Recordset");

//m_pRecordset->Open("SELECT * FROM users",_variant_t((IDispatch *)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

_variant_t m_pRecord;

CString strSql="SELECT * FROM `CHARACTER_SETS` ";

m_pConnection->Execute((_bstr_t)strSql,&m_pRecord,adCmdText);

///

hr = m_pRecordset->get_Fields (&fields);//得到记录集的字段集和

//为了放下查出的数据,把ListControl原来的数据清除了先!

//删除所有记录行

m_LisCtrlResult.DeleteAllItems();

//删除所有列表头

while(m_LisCtrlResult.DeleteColumn(0));

//更新窗口

this->UpdateWindow();

if(SUCCEEDED(hr))

fields->get_Count(&nRstCol); //得到记录集的字段集合中的字段的总个数

for(i = 0; i < nRstCol; i++)

{

fields->Item[i]->get_Name(&bstrColName);//得到记录集中的字段名

strColName[i] = bstrColName;

//为列表控件添加字段的名字//

m_LisCtrlResult.InsertColumn(i, strColName[i], LVCFMT_LEFT, 70);

}

while(!m_pRecordset->adoEOF)

{

nItem = m_LisCtrlResult.InsertItem(0, NULL); //插入新的一行。把行号放在//了nItem里边。

for(i = 0; i < nRstCol; i++)

{

m_LisCtrlResult.SetItem(nItem, i, 1,_bstr_t s=(_bstr_t)m_pRecordset->GetCollect(strColName[i]); ,NULL, 0, 0, 0); //把读出来的数据项放入ListControl里边

}

m_pRecordset->MoveNext(); //记得使记录指针移动哦

}

}

catch(_com_error e)///捕捉异常

{

//CString a=e;

//AfxMessageBox(a"Fail to read the database!");///显示错误信息

CString errormessage;

errormessage.Format("Fail to connect the database! \r\n ErroeMessage:%s", e.ErrorMessage);

AfxMessageBox(errormessage); //show the error message

}

初步确定错误在

while(!m_pRecordset->adoEOF)

{

nItem = m_LisCtrlResult.InsertItem(0, NULL); //插入新的一行。把行号放在//了nItem里边。

for(i = 0; i < nRstCol; i++)

{

m_LisCtrlResult.SetItem(nItem, i, 1,_bstr_t s=(_bstr_t)m_pRecordset->GetCollect(strColName[i]); ,NULL, 0, 0, 0); //把读出来的数据项放入ListControl里边

}

m_pRecordset->MoveNext(); //记得使记录指针移动哦

}

编译没错,运行时出错,调用了Catch

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值