一个数据库自动生成录入对话框的问题
请教高手:我想设计一个程序,让它能打开数据库中的一个表时,自动生成对应于该表的一个录入对话框,请问有什么办法才能实现呢?我这里有一个ActiveX控件,可以实现这个功能,但是它不支持VC,文件有220K,无法上传,需要的话给出邮箱,我发过去.
你可以在OnInitDialog()里面打开数据库,实现对表的插入,前提是你要将你的对话框生成一个对话框类,
然后重写 OnInitDialog()函数,这个函数是虚拟函数来的,系统会自动地利用C++多态的性质进行调用,这样就可以初始化表了。至于ActiveX的表我还没有用过,我通常都是用ListCtrl的,不过肯定没有activeX控件强大。你自己可以建立一个工程试试。
[此贴子已经被作者于2006-4-26 16:00:21编辑过]
这个问题的难点在于:
1.得到表中各字段的字段名(这个好像不是问题,只是我目前还不清楚).
2.得到字段名后,根据它在程序中生成对应数量的CStatic对象,然后再生成相应的资源,同时根据字段数据类型生成输入控件对象及资源,然后,再排列好位置,最后将对话框显示出来,供输入用.
这个你可以用ADO的数据库连接.
关于这个问题你要看VC++的数据库连接,在这里是说不清楚的,我正在弄毕业设计就是用ADO来连接数据库.但是工程太大,上传不了.反正就是用到 _ConnectionPtr, _RecordsetPtr 这两个智能指针类来连接数据库.
我发书上的例题给你,书上是用ListCtrl的,不过你的目的是为了理解怎样连接数据库,所以没有问题.
[此贴子已经被作者于2006-4-26 18:55:13编辑过]