标题:链接数据库出错?请高手指教。
只看楼主
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
结帖率:89.66%
已结贴  问题点数:100 回复次数:12 
链接数据库出错?请高手指教。
这个是一个现成的工程,但是我运行后总是提示链接数据库出错。
请高手帮忙修改。
感激不尽。
学生成绩管理系统.rar (2.02 MB)
搜索更多相关主题的帖子: 数据库 链接 指教 
2010-09-13 18:15
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
得分:10 
"DSN=MyStudentodbc",0 这是连接的数据源,要在odbc数据源中设置好数据源和连接的数据库文件,光凭在程序中打开这个文件时不行的,要么在程序中改下直接指向文件的连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=****.mdb;Persist Security Info=False;Jet OLEDB:Database Password=1234";

2010-09-13 18:53
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:0 
回复 2楼 红色警戒
能否在原来的基础上改一下代码?
谢谢。

南国利剑
2010-09-13 20:21
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
得分:0 
ODBC方式读取一定要在控制面板 管理工具 数据源 (ODBC)中添加指向Access文件的数据源。

2010-09-13 22:14
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:0 
回复 4楼 红色警戒
就是说我现有的这种连接方式需要在控制面板里添加数据源是吧?

南国利剑
2010-09-14 10:54
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:0 
是的,你得先配置数据源。
也可以调用API   BOOL SQLConfigDataSource(HWND hwndParent, UINT
fRequest,LPCSTR IpszDriver, LPCSTR IpszAttributes);进行配置。
参考:
http://support.

btw:
我已经很久不用Access了,自从有了Sqlite以后。


[ 本帖最后由 东海一鱼 于 2010-9-14 21:56 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-14 21:30
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:90 
帮你简单改了一下,可以正常运行了。
if(SQLConfigDataSource(0,ODBC_ADD_DSN,"Microsoft Access Driver (*.MDB)",
            "DSN=FASMDB\0Uid=Admin\0pwd=\0DBQ=d:\\student.mdb"))
        {
            theApp.WriteProfileString("ODBCSETUP","ISSETUP","TRUE");
        }
请把mdb文件放置到d:根目录下,我用了绝对路径。相对路径你自己改吧。(GetCurrentDirectory)

std.rar (72.37 KB)








举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-15 11:37
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:0 
回复 7楼 东海一鱼
谢谢你啊。
我试过了,能连接了。
我原来的代码到底是什么问题,能否跟我说明一下。

还有一个问题,也请阁下帮忙解决,这个程序连接数据库,成功后,能够显示记录,
但是不能修改记录,提示是记录集是只读的,这个是什么情况呢?

还望不吝赐教。



[ 本帖最后由 南国利剑 于 2010-9-15 21:56 编辑 ]

南国利剑
2010-09-15 21:43
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
得分:0 
原来的问题:
1、没有建立数据源。
2、数据集对象没有跟数据库对象关联。
3、数据集缺省链接字串硬编码错误。

数据集只读问题:
很简单,你没有打开游标库。在Db.OpenEx时打开游标库即可。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-16 10:29
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:0 
回复 9楼 东海一鱼
Db.OpenEx
就这句代码吗?

写在什么地方?是在连接数据库后就直接写上吗?



[ 本帖最后由 南国利剑 于 2010-9-16 12:30 编辑 ]

南国利剑
2010-09-16 12:28



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




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

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