mfc 单文档odbc连接access
CString strHeader[]={L"书籍编号",L"书名",L"出版社", L"零售价",L"可借数量"};
int nStrWidth[]={30,60,30,20,20};
CHOPE_LIBRARYSet cSet;//记录集
cSet.m_strFilter=strSQL;//strSQL是传进去的书名参数

cSet.Open(AFX_DB_USE_DEFAULT_TYPE);

for(UINT i=0;i<cSet.m_nFields;i++)
{
//计算每一个字段的长度
nWidth=tm.tmAveCharWidth *nStrWidth[i];
pDC->TextOutW(x,y,strHeader[i]);
x+=nWidth;
}
pDC->SelectObject(oldFont);//恢复原来的字体
//显示具体内容
CString str;
while(!cSet.IsEOF())
{
if(strbook==cSet.m_book_name)//强调要显示的书籍
{
lf.lfWeight=0;
wcscpy_s(lf.lfFaceName,_T("楷体_GB2312"));
font.DeleteObject();
font.CreateFontIndirectW(&lf);
pDC->SelectObject(&font);
}
else
pDC->SelectObject(oldFont);
x=0;y+=nLineHeight;
for(UINT i=0;i<cSet.m_nFields;i++)
{

cSet.GetFieldValue(i,str);//这一句看不懂怎么获得字段值的,利用m_strFilter还是什么?
//计算每一个字段所需要的长度
nWidth=tm.tmAveCharWidth *nStrWidth[i];
pDC->TextOutW(x,y,str);
x+=nWidth;
}
cSet.MoveNext();

}
cSet.Close();
两个问题:
1.要改成模糊查询SELECT *FROM book WHERE book_name LIKE strSQL,怎么改都不成功。传入参数那里也不行
是不是这一句有关?if(strbook==cSet.m_book_name)
2.把程序移到别的电脑,建立了数据源,这一句就进不去了:cSet.Open(AFX_DB_USE_DEFAULT_TYPE);