我有一个数据库,里面有几列数据,我原来是用“孔洞编号”取数据集,代码运行良好。
但后来根据需要,要改成用“工程名称”取数据集,编译运行都没有问题,在sql.Format的时候都没有问题,但在m_pRecordset->Open运行后就提示“_com_error”错误。说明一下,其实“孔洞编号”和“工程名称”都是字符串类型,而且值都是一样的。请各位不吝赐教,多谢了!
代码如下: OnInitADOConn();
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
CString sql;
//sql.Format("select * from PicInfo where 孔洞编号='%s' order by 起点深度 asc",EngHoleID);//原代码,运行良好
sql.Format("select * from PicInfo where 工程名称='%s' order by 起点深度 asc",EngHoleID);
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
//运行了这句话之后,跳出提示“_com_error”错误。
但后来根据需要,要改成用“工程名称”取数据集,编译运行都没有问题,在sql.Format的时候都没有问题,但在m_pRecordset->Open运行后就提示“_com_error”错误。说明一下,其实“孔洞编号”和“工程名称”都是字符串类型,而且值都是一样的。请各位不吝赐教,多谢了!
代码如下: OnInitADOConn();
//创建记录集指针对象实例
m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
CString sql;
//sql.Format("select * from PicInfo where 孔洞编号='%s' order by 起点深度 asc",EngHoleID);//原代码,运行良好
sql.Format("select * from PicInfo where 工程名称='%s' order by 起点深度 asc",EngHoleID);
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
//运行了这句话之后,跳出提示“_com_error”错误。
又把中文字段加了括号,即"工程名称"改成"[工程名称]" ,"起点深度"改成"[起点深度]",运行后还是#3088的错误,实在想不出还有哪里可能出错
http://blog.csdn.net/bombzhang/article/details/7431624