MFC ADO链接数据库问题

listBookInfo("select * from Table_Book");

这一句显示错误:错误 C2664 “void CTestDlg::listBookInfo(CString)”: 无法将参数 1 从“const char [25]”转换为“CString” Test f:\summerholidayhomework\test\test\testdlg.cpp 119

    不存在从 "const char [25]" 转换到 "ATL::CStringT<wchar_t, StrTraitMFC_DLL<wchar_t, ATL::ChTraitsCRT<wchar_t>>>" 的适当构造函数    Test    f:\SummerHolidayhomework\Test\Test\TestDlg.cpp  119 

//Ado数据库连接函数

void CTestDlg::listBookInfo(CString strSQL)
{
m_listBookInfo.DeleteAllItems(); // 首先清空列表视图中的所有数据

_ConnectionPtr  m_pConnection;      // 创建连接对象指针

m_pConnection.CreateInstance(_uuidof(Connection));// 创建连接对象实例

//在ADO操作中建议语句中要常用try...catch()来捕获错误信息
try
{
//打开本地SQL数据库Book.mdf
m_pConnection->Open("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=F:\SummerHolidayhomework\Test\Book.mdf;Integrated Security=Ture;Connect Timeout=30", "", "", adModeUnknown);

}

catch (_com_error e)
{
    e.Error();
    MessageBox(e.ErrorMessage());
    MessageBox(e.Description());
    return;
}

_RecordsetPtr  m_pRecordset;        // 创建记录集对象指针
m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集指针对象实例   

try
{
    m_pRecordset->Open(
        _variant_t(strSQL),                 // 打开记录集
        m_pConnection.GetInterfacePtr(),    // 获取库接库的IDispatch指针
        adOpenDynamic,                      // 动态光标
        adLockOptimistic,                   // 乐观锁定方式
        adCmdText                           // CommandText是文本命令
    );
}
catch (_com_error *e)
{
    AfxMessageBox(e->ErrorMessage());
}
_variant_t var;
CString strTmp;

while (!m_pRecordset->adoEOF)
{

    var = m_pRecordset->GetCollect("书号");   // 获取书号字段的值
    strTmp = (LPCSTR)_bstr_t(var);
    m_listBookInfo.InsertItem(0, strTmp);


    var = m_pRecordset->GetCollect("书名");       // 获取书名字段的值
    strTmp = (LPCSTR)_bstr_t(var);
    m_listBookInfo.SetItemText(1, 1, strTmp);

    var = m_pRecordset->GetCollect("类别");       // 获取类型字段的值
    strTmp = (LPCSTR)_bstr_t(var);
    m_listBookInfo.SetItemText(2, 2, strTmp);

    var = m_pRecordset->GetCollect("单价");       // 获取单价字段的值
    strTmp = (LPCSTR)_bstr_t(var);
    m_listBookInfo.SetItemText(3, 3, strTmp);
    //将记录集指针移动到下一条记录 
    m_pRecordset->MoveNext();
}
m_pRecordset->Close();                      // 关闭记录集
m_pRecordset.Release();                     // 释放记录集对象
m_pRecordset = NULL;

if (m_pConnection->State)
    m_pConnection->Close();                 // 关闭与数据库的连接
m_pConnection = NULL;

UpdateData(FALSE);

}

在字符串前加上_T(),如:listBookInfo(_T("select * from Table_Book"));