要求在第一个combo box下拉列表中选择一项,将这一项转换为字符串用于查询,用SQL查询语句在数据库中提取相应记录显示于另一个combo box程序代码如下:
void CImageProc::OnSelendokCombo1() 
{
// TODO: Add your control notification handler code here
UpdateData(true);
CString str,sql1;
//初始化记录集对象
m_pRecordset2.CreateInstance(__uuidof(Recordset));
        //取得第一个combo box下拉列表的值
int n = m_RoadName.GetCurSel();
m_RoadName.GetLBText(n,str);
        //数据库中Name字段与该值比较取得相应记录
sql1.Format("SELECT * FROM Road WHERE Name=%s",str);
//sql1得到了相应的数据库查询语句,正确!调试时就是下面这句出错了,
        HRESULT hr3=m_pRecordset2->Open((_variant_t)sql1,_variant_t((IDispatch *)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText); //从数据库中读出各个字段的数据,反馈给界面控件
if(m_pRecordset2->GetRecordCount()!=0)
{
while(!m_pRecordset2->adoEOF)
{
m_RoadPart.AddString((LPCTSTR)(_bstr_t)m_pRecordset2->GetCollect("Part"));
m_pRecordset2-> MoveNext(); 

m_pRecordset2->Close();
}
}运行时出错!
不知道该OPEN语句哪里不对,弄了2天没搞清楚
多谢您的帮助,我要崩溃了