IDispatch error #3088 ADO+Access

kbsoft 2007-07-26 12:09:36
strSQL="SELECT * FROM 短语分类表 where 短语类别 = '" + TreeCurrent + "'";
try
{
HRESULT hTRes;
hTRes = m_pTreeRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
//----------------------------------------------------
hTRes = m_pTreeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
_variant_t((IDispatch *)m_pTreeConn,true),
adOpenDynamic,adLockPessimistic,adCmdText);

if(SUCCEEDED(hTRes))
{
TRACE(_T("连接成功!\n"));
//------------------------------------------
m_pTreeRecordset->MoveFirst();
..........

难道是SQL语句错了吗?
...全文
578 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BUCT_dragonfly 2008-09-29
  • 打赏
  • 举报
回复
请问IDispatch error #3088 是怎么解决的?急!
dragonfly_xyl@126.com,谢谢
xuxingok 2007-07-26
  • 打赏
  • 举报
回复
IDispatch error #3088 应该你是的SQL语句里少点什么~
zaodt 2007-07-26
  • 打赏
  • 举报
回复

strSQL.Format("SELECT * FROM 短语分类表 where 短语类别 = '%s' " , TreeCurrent);

注意:

在遇到问题时,应设置断点,调试程序,查看最后执行的SQL语句是否正确。
首先新建一个工程名称为ADO的基本对话框工程。然后: 1.在头文件stdafx.h 中加入 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF") 2.在ADODLG.cpp中加入 void CADODlg::OnBtnQuery() { CoInitialize(NULL); // 初始化COM环境 _ConnectionPtr conn(__uuidof(Connection)); // 创建连接对象 _RecordsetPtr rst(__uuidof(Recordset)); // 创建记录集 try { conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;Persist Security Info=False;Jet OLEDB:Database Password=691126" ,"", "", adModeUnknown); // 打开数据库并建立连接(有密码) //conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;" ,"", "", adModeUnknown); // 打开数据库并建立连接(没有密码) rst->Open(_variant_t("select * from sheet1"), _variant_t((IDispatch*) conn), adOpenDynamic, adLockOptimistic, -1); // 读取数据表 while(!rst->rsEOF) { ((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)rst->GetCollect("姓名")); // 查询"姓名"字段 rst->MoveNext(); } } catch(_com_error e) { CString errormessage; // 保存错误信息 errormessage.Format("Error: %s", e.ErrorMessage()); // 设置错误信息的格式 //AfxMessageBox(errormessage); // 以对话框的形式输出错误信息 MessageBox(errormessage,"错误提示"); } //MessageBox("查询结束!","提示",0); rst->Close(); conn->Close(); rst.Release(); // 释放相应COM接口上的引用计数 conn.Release(); CoUninitialize(); // 卸载COM环境库 }

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧