首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

为什么用CDatabase 、CRecordSet类 做程序,容易出有关问题

2012-06-08 
为什么用CDatabase 、CRecordSet类 做程序,容易出问题是这样的有一个数据库,一表MyAcc.然后程序里有这样的

为什么用CDatabase 、CRecordSet类 做程序,容易出问题
是这样的

有一个数据库,一表MyAcc.

然后程序里有这样的操作

CDatabase Database;

Database.OpenEx(g_strConnectDatabase,CDatabase::noOdbcDialog );

strSql.Format("Insert into LogInfo 。。。);

Database.ExecuteSQL(strSql);


strSql.Format("update LogSate set state=0 where UID=%d",uID);//flag=1表示已经做过更新

Database.ExecuteSQL(strSql);



=======================================================================

上面执行没有问题,然后到了对MyUserInfo进行更新的时候,就说:连接超时

程序异常退出,还是提示:

超时已过期 State:S1T00,Native:0,Origin:[Microsoft][ODBC SQL Server Driver] 

我把上面两个操作都去掉了,结果也是一样

这几个表都是同一个数据库中的表


//
strSql.Format("update MyUserInfo set flag=1 where ID=%d",uID);//flag=1表示已经做过更新

Database.ExecuteSQL(strSql);-----执行到这里,卡一会,然后,就异常退出了


为什么要CRecordset、CDatabase做数据库编程,出现这样那样的问题呢

如果放在服务程序要大量并发的访问数据库,那不是更糟糕啊





[解决办法]
执行一些数据库操作的简单指令试下,确定SQL运行正常?
[解决办法]
查询分析器也过期,那就不是CRecorset的问题了。
数据量很大吗?索引太多?导致更新缓慢而过期?
[解决办法]
楼主别太固执,找个能用的类似软件配置在你的环境下,尝试一下,也有可能是你配置问题。
[解决办法]
ADO是个框架模型,一套接口适用于很多数据源,只要能提供provider。
不过现在MS已经不准备更新ADO了,对新开发的程序MS推荐使用ODBC

热点排行