源代码
m_listCtrl.DeleteAllItems(); // 删除列表控件中已有记录
UpdateData();
CString sql = "select * from student where name like '%"; // 根据用户输入的查询名称生成 sql 语句。
sql += m_strQueryName;
sql += "%'";
_RecordsetPtr pRecordset = m_database.Select(sql); // 获得查询结果集合
CString record[4];
CString temp;
COleDateTime time;
int gender, credit;
int row = 0;
while (!pRecordset->adoEOF1) // 遍历查询结果集合,将每条结果在列表框中显示
{
// pRecordset->GetCollect("name")取出当前记录的 Name 字段的值。因为 Name 字段的值是字符串类型,所以取 bstrVal 属性获得字段值。
CString temp = pRecordset->GetCollect("name").bstrVal;
// 往列表框新增一条记录
m_listCtrl.InsertItem(row, temp);
// pRecordset->GetCollect("gender")取出当前记录的 gender 字段的值。因为 gender字段的值整数类型,所以取 lVal 属性获得字段值。
gender = pRecordset->GetCollect("gender").lVal;
运行报错:error C2440: “初始化”: 无法从“BSTR”转换为“ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<_CharType>>>”
属性里的常规设置已经改成了多字节字符集
如果要强制转换有没有大佬给下代码 谢谢了