标题:一个数据库自动生成录入对话框的问题
只看楼主
九月霜
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-4-26
 问题点数:0 回复次数:7 
一个数据库自动生成录入对话框的问题
请教高手:

我想设计一个程序,让它能打开数据库中的一个表时,自动生成对应于该表的一个录入对话框,请问有什么办法才能实现呢?我这里有一个ActiveX控件,可以实现这个功能,但是它不支持VC,文件有220K,无法上传,需要的话给出邮箱,我发过去.
搜索更多相关主题的帖子: 对话框 数据库 自动 ActiveX 
2006-04-26 15:41
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

你可以在OnInitDialog()里面打开数据库,实现对表的插入,前提是你要将你的对话框生成一个对话框类,
然后重写 OnInitDialog()函数,这个函数是虚拟函数来的,系统会自动地利用C++多态的性质进行调用,这样就可以初始化表了。至于ActiveX的表我还没有用过,我通常都是用ListCtrl的,不过肯定没有activeX控件强大。你自己可以建立一个工程试试。

[此贴子已经被作者于2006-4-26 16:00:21编辑过]


c++/C + 汇编 = 天下无敌
2006-04-26 15:59
九月霜
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-4-26
得分:0 
谢谢你的回答!!!
不过,好像你说的是重建一个继能自CDialog的类,然后在类中的OnInitDialog()中找数据表,再用类中的固定好的控件来显示它,这可以实现.但我是想让这个程序可以打开各种不同的表,然后依据表中的字段在对话框上自动生成相应的控件来显示它(如用一个CStatic显示字段,用一个CEdit用业输入数据,这个对话框的资源标签是根据表的字段动态生成的),就是说这个程序打开不同的表,就生成不同的对话框(不同是对话框上的控件类型及数量不一样).你再给我想想办法?
2006-04-26 16:23
九月霜
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-4-26
得分:0 

这个问题的难点在于:
1.得到表中各字段的字段名(这个好像不是问题,只是我目前还不清楚).
2.得到字段名后,根据它在程序中生成对应数量的CStatic对象,然后再生成相应的资源,同时根据字段数据类型生成输入控件对象及资源,然后,再排列好位置,最后将对话框显示出来,供输入用.

2006-04-26 16:33
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
得分:0 
在不知道DB schema的情况下这么作最后的layout肯定很难看。至少不能全部动态,有一定的规律可寻。无论是动态读取DB还是动态加入控件都不是问题。

http://myajax95./
2006-04-26 17:51
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

这个你可以用ADO的数据库连接.
关于这个问题你要看VC++的数据库连接,在这里是说不清楚的,我正在弄毕业设计就是用ADO来连接数据库.但是工程太大,上传不了.反正就是用到 _ConnectionPtr, _RecordsetPtr 这两个智能指针类来连接数据库.
我发书上的例题给你,书上是用ListCtrl的,不过你的目的是为了理解怎样连接数据库,所以没有问题.

B1S8IC8r.rar (459.66 KB)

[此贴子已经被作者于2006-4-26 18:55:13编辑过]


c++/C + 汇编 = 天下无敌
2006-04-26 18:53
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
得分:0 

还有,我发给你的例题是连接SQL的,不过ACCESS都可以的,要自己改


c++/C + 汇编 = 天下无敌
2006-04-26 18:57
lihong111111
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-5-1
得分:0 

有人有vc++做的学籍管理系统吗?能发个给我看吗?我急需,做了很久都没成功


2006-05-01 15:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-60325-1-1.html




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

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