主题:DBManager类执行sql语句出错

  共有24462人关注过本帖    
AT_lee
1楼


DBManager类执行sql语句出错  发帖心情 Post By:2011-11-29 16:47:00   [只看该作者]

调用DBManager类操作数据库时,如下的删除表,创建表,插入都正常
                CString TableName;
TableName="testtable";
dbm.DeleteTable(TableName);
dbm.CreateTable(TableName);
dbm.InsertRecord(TableName,test);
可select语句执行报错。
                execsql.Format(_T("SELECT * FROM %s"),TableName);
dbm.ExecSql(execsql);

执行select语句后   hr= -214746726{E_NOINTFACE}

请大家帮忙看看是什么原因!

  单帖管理 | 引用 | 回复 回到顶部
yy
2楼


  发帖心情 Post By:2011-11-30 11:17:00   [只看该作者]

我们先看下该问题再联系你,我邮件你一个微软的官方例程给你,测试可用

  单帖管理 | 引用 | 回复 回到顶部
AT_lee
3楼


  发帖心情 Post By:2011-12-2 18:04:00   [只看该作者]

原代码为
hr = m_pADOCERS->Open(varStrSql,varEmpty,MSADOCE::adOpenDynamic,MSADOCE::adLockOptimistic,MSADOCE::adCmdText);
修改为
hr = m_pADOCERS->Open(varStrSql,varEmpty,MSADOCE::adOpenUnspecified,MSADOCE::adLockUnspecified,MSADOCE::adCmdUnspecified);
测试了一下,可以使用select语句了

  单帖管理 | 引用 | 回复 回到顶部
yxy
4楼


  发帖心情 Post By:2011-12-2 18:21:00   [只看该作者]

demo能运行,但是我们的图形demo不行,使用了绘图资源,为了图漂亮。但是这个上面跑不起来,程序员说是内核驱动不支持。他给了你们技术支持我们的运行代码什么的,和例程了。

  单帖管理 | 引用 | 回复 回到顶部
IT
5楼


  发帖心情 Post By:2012-2-14 15:32:00   [只看该作者]

按AT_lee的说法修改了下ExecSql函数的源代码,结果select 命令可以了,但是insert命令却又返回错误,请求通用的ExecSql执行语句

  单帖管理 | 引用 | 回复 回到顶部
yy
6楼


  发帖心情 Post By:2012-2-15 13:23:00   [只看该作者]

如果使用select,Recordset::Open的第四个参数不能为adLockOptimistic。使用AT_lee的办法,全使用默认值是个好办法,我测试没有什么问题。insert命令出错可能是之前有插入过相同的数据了。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

DBManager类执行sql语句出错

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: