| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1517 人关注过本帖
标题:[分享]:学生成绩管理系统。看后希望能回答个问题
只看楼主 加入收藏
beyoung
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-6-19
收藏
 问题点数:0 回复次数:5 
[分享]:学生成绩管理系统。看后希望能回答个问题
我发现这个程序是基于对话框的应用程序,而且还用了ODBC。可是在我的印象里,基于对话框的应用程序是不能使用ODBC的。希望知道的您能够和我相互探讨一下,QQ:43873310。
IfVr28FV.rar (84.47 KB) [分享]:学生成绩管理系统。看后希望能回答个问题


搜索更多相关主题的帖子: 系统 学生 管理 分享 
2006-07-14 21:51
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

基于对话框是可以用ODBC的,其实那里只不过是将一些表转换成类,是要ODBC数据源的,好像叫什么ODBC使用者,记得当初VC的课堂设计我就是用ODBC基于对话框来弄了个图书管理系统


c++/C + 汇编 = 天下无敌
2006-07-15 22:59
游戏使者
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2005-8-24
收藏
得分:0 

可以的,其实很简单的,,只要用到两个类就可以了CRecordSet 和CDatabase就可以了。。。。
我现在正作的一个系统就是基于对话框实现的。。我把总结的过程分享如下:


1:定义全局变量 CDatabase 对象 如: CDatabase m_db;

2:把它和CRecordSet对象绑定。如: CTRecordSet m_tset(&m_db);
CBRecordSet m_bset(&m_db);
CDRecordSet m_set(&m_db); 由于这个过程多在OnInitDialog里进行,所以这时要用if (m_db.IsOpen()) m_db.Close();确保没有打开。否则会白白占用一个打开的句柄

3:要使用它时则用Open打开 如: m_db.Open( _T( "lhwy" ), FALSE,FALSE, _T( "ODBC " ),TRUE );
然后确保CRecordSet对象也是关闭壮态,以使用它们绑定表进行操作。语句为: if(m_set.IsOpen()) m_set.Close();
if(m_tset.IsOpen()) m_tset.Close();
if(m_bset.IsOpen()) m_bset.Close();
然后根据情况来打开CRecordSet,比如说有多个表的,可以根据用户选择或是需要来打开如: if(m_Getstring=="一班")
m_set.Open();

if(m_Getstring=="二班")
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2STUDENT]",NULL);

4:与3同一个模块中,使用完一定要关闭它们。如: m_bset.Close();
m_db.Close();


通常情况下:1在全局位置。2在初始化的模块中。3和4在同一个模块中,即打开,用完又要关闭。


写程序像做爱一样,质量的好坏完全取决于心情……
2006-07-18 10:33
beyoung
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-6-19
收藏
得分:0 

谢谢


积极、乐观、向上!奇迹是靠自己的双手创造出来的!
2006-07-20 19:22
baisea2001
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-10-27
收藏
得分:0 
程序很经典!下面分析的也很透彻!
2006-07-22 21:34
快速回复:[分享]:学生成绩管理系统。看后希望能回答个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036312 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved