挑战性的考验!!
现在我遇到一个编程问题,希望大家帮忙解决下!
我在程序中通过DAO操作数据库记录,在对话框的构造函数中
我用my_pSet.Open()打开了我的数据记录集,在窗口关闭事件WM_DESTROY中my_pSet.Close()关闭了我的数据库。用得一直很正常。现在,我需要从外部TXT文件中读取数据转换到数据库了,就发现了严重问题,一但通过CFileDialog类的文件对话框打开文件,当我在程序中第二次打开我的对话窗口时,就发生了my_pSet.Open()错,报告我数据库的路径非法!无法打开记录,通过多方实验,把打开TXT文件的代码缩到以下两行:
CFileDialog FD(TRUE, "*.txt", "*.txt", OFN_HIDEREADONLY, "*.txt", this );
FD.DoModal ();
可以说,只是启动一下文件打开窗口了,但问题依然存在,奇怪的是,如果我通过文件对话筐的取消按纽退出,第二次打开应用程序的对话框,就没有事,只要我选择过文件,按ok退出文件打开对话框,当我第二次打开应用程序的对话筐,马上就报告我的数据库打开错了,只有完全关闭我的应用程序这个对话框才能在正常工作一次。百思不解,看来只能麻烦CSDN的大虾们了!
拜托各位!
问题点数:33、回复次数:4Top
1 楼piggyqiu(猪头)回复于 2001-01-09 10:44:00 得分 16
大概是因为你的当前路径在确定之后已经改变了。(取消就没变)
下一次进去的时候就从你上次选择文件的路径为当前路径。
可以记下当前路径,确定后做完再set回去Top
2 楼wuchuncai(1234567)回复于 2001-01-09 10:44:00 得分 17
主要是CFileDialog会改变当前路径.解决方法:
1.在my_pSet.Open()中把数据的路径全给出.
2.SetCurrentDirectory(CString)再次指向正确的路径
Top
3 楼biggo(biggo)回复于 2001-01-09 11:16:00 得分 0
太谢谢了,两位大虾!
问题解决!ok!Top
4 楼biggo(biggo)回复于 2001-01-09 11:18:00 得分 0
太谢谢了,两位大虾!
问题解决!ok!Top




