先上代码:::SendMessage(m_list.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
m_list.InsertColumn(0,"配方号",LVCFMT_LEFT,60);
m_list.InsertColumn(1,"批次",LVCFMT_LEFT,60);
m_list.InsertColumn(2,"料名",LVCFMT_LEFT,60); int nItem;
_variant_t vPFH,vPC,vLM,RecordAffected;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset=theApp.m_pConnection->Execute("select * from d_sczk",&RecordAffected,adCmdText);
m_bSuccess = TRUE;
while(!m_pRecordset->adoEOF)
{
vPFH = m_pRecordset->GetCollect("pfh");
vPC = m_pRecordset->GetCollect("pc");
vLM = m_pRecordset->GetCollect("lm");
nItem=m_list.InsertItem(0xffff,(_bstr_t)vPFH);
m_list.SetItem(nItem,1,1,(_bstr_t)vPC,NULL,0,0,0);
m_list.SetItem(nItem,2,1,(_bstr_t)vLM,NULL,0,0,0); m_pRecordset->MoveNext();
}
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
我用的VC6.0,工程为MFC基于对话框的,对话框上只有一个列表控件(m_list)已成功连接SQL server 2005数据库,但是程序报错“读取数据库失败”,请高手指点
m_list.InsertColumn(0,"配方号",LVCFMT_LEFT,60);
m_list.InsertColumn(1,"批次",LVCFMT_LEFT,60);
m_list.InsertColumn(2,"料名",LVCFMT_LEFT,60); int nItem;
_variant_t vPFH,vPC,vLM,RecordAffected;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset=theApp.m_pConnection->Execute("select * from d_sczk",&RecordAffected,adCmdText);
m_bSuccess = TRUE;
while(!m_pRecordset->adoEOF)
{
vPFH = m_pRecordset->GetCollect("pfh");
vPC = m_pRecordset->GetCollect("pc");
vLM = m_pRecordset->GetCollect("lm");
nItem=m_list.InsertItem(0xffff,(_bstr_t)vPFH);
m_list.SetItem(nItem,1,1,(_bstr_t)vPC,NULL,0,0,0);
m_list.SetItem(nItem,2,1,(_bstr_t)vLM,NULL,0,0,0); m_pRecordset->MoveNext();
}
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
我用的VC6.0,工程为MFC基于对话框的,对话框上只有一个列表控件(m_list)已成功连接SQL server 2005数据库,但是程序报错“读取数据库失败”,请高手指点
解决方案 »
- 怎么控制CHtmlView的滚动条?求解!!!!!!!!!!!!
- 对话框收缩问题!请各位帮忙!
- ISAPI 访问数据库 错误
- 为什么对话框窗体最大化后,状态栏被系统的任务栏挡住了呢
- 疑难问题:在网页中使用ActiveX控件中与<marquee>控件并存时,设置光标函数将不起作用。
- Use Multi-Byte Character SetorUse Unicode Character Set?请教有什么区别?
- 基础连接已经关闭:无法连接到远程服务器 The underlying connection was closed: Unable to connect to the remote server.
- WM_CREATE与WM_INITDIALOG消息有什么不同,为什么对话框发送WM_INITDIALOG而不是WM_CREATE
- 链接文件OpenGl32.dll到不存在的输出KERNEL.DLL:IsWow64Process...怎么解决?
- 为什么ODBC和VC传递的字符串数据不能长于255?有办法解决吗?
- GetFileVersionInfoSize只对可执行文件起作用么?
- 高手请指教,DirectX开发问题:在播放时使用pMS->SetPositions后,无法进入HandleGraphEvent中,无法判断文件已经播放结束
catch(_com_error &e)///捕捉异常
{
AfxMessageBox(e.Description());
//AfxMessageBox("读取数据库失败!");///显示错误信息
}
改成
HRESULT hr = m_pRecordset.CreateInstance(__uuidof(ADODB::Recordset));
if (FAILED(hr))
{
_com_error e(hr);
AfxMessageBox(e.ErrorMessage());
return;
}
CADOConn m_adoconn;
m_adoconn.OnInitADOConn();
m_list.SetExtendedStyle(LVS_EX_FLATSB
| LVS_EX_FULLROWSELECT
| LVS_EX_HEADERDRAGDROP
| LVS_EX_ONECLICKACTIVATE
| LVS_EX_GRIDLINES);
//::SendMessage(m_list.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
m_list.InsertColumn(0,"配方号",LVCFMT_LEFT,60);
m_list.InsertColumn(1,"批次",LVCFMT_LEFT,60);
m_list.InsertColumn(2,"料名",LVCFMT_LEFT,60);
CString sql="select * from d_sczk";
m_pRecordset=m_adoconn.GetRecordSet((_bstr_t(sql)));
while(!m_pRecordset->adoEOF)
{
m_list.InsertItem(0,"");
m_list.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("pfh"));
m_list.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("pc"));
m_list.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("lm")); m_pRecordset->MoveNext();
}
m_pRecordset->Close();
我现在用CADOConn这个封装类去读取数据库,现在又出现问题了,两列可以正常显示数据,但是加上“料名”这一列程序就报错了,就是说加上红色的两句代码就出错,请问setitemtext这个函数参数怎么设置?