5326|10

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

有人用过wince自带的数据卷吗? [复制链接]

我用PC-104配置的wince自带数据卷,但是用一个已经编译好并且肯定好使的数据库例子却打不开数据卷,我想问一下,使用自带数据卷还需要在系统中添加什么动态链接库之类的吗?求大家的帮助!!
此帖出自WindowsCE论坛

最新回复

给分  详情 回复 发表于 2007-2-9 10:17
点赞 关注
 

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
是用的EDB吗?是的化要现用cemountdbvolex()来加载数据库卷,然后在打开里面的数据库
打开后才能进行读写
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
就是在函数的初始必须要添加语句CEMountDBVol才行吗?然后就不用在添加什么动态链接库之类的了吗?
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
程序中已经包括了大开数据库,但是还是不好使,就是EVC高级编程及其应用开发那本书上带的例子,是好用的,但我在PC104上怎么也不好使
//打开数据库
void CCEDBUseDlg::OnBtnopen()
{
        //1、挂载数据库卷,如果存在则打开,不存在,就新建一个
        if (!CeMountDBVol(&m_ceGuid,DBFILENAME,OPEN_ALWAYS))
        {
                AfxMessageBox(_T("打开或新建数据卷失败"));
                return;
        }

       
        //2、接着打开数据库
        m_hDB = CeOpenDatabaseEx(&m_ceGuid,&m_ceOid,DBTABLENAME,NULL,CEDB_AUTOINCREMENT,NULL);
        if (m_hDB == INVALID_HANDLE_VALUE)
        {
                //3、 //如果数据库不存在,就新建之
                if (GetLastError() == ERROR_FILE_NOT_FOUND)
                {
                        CEDBASEINFO ceDbInfo;

                        ceDbInfo.dwFlags = CEDB_VALIDNAME | CEDB_VALIDTYPE | CEDB_VALIDSORTSPEC ;
                        wcscpy(ceDbInfo.szDbaseName , DBTABLENAME);
                        ceDbInfo.dwDbaseType = 0;
                        ceDbInfo.wNumSortOrder = 2 ; //排序字段数目

                        ceDbInfo.rgSortSpecs[0].propid = PID_NO;
                        ceDbInfo.rgSortSpecs[0].dwFlags = CEDB_SORT_CASEINSENSITIVE; //升序,且大小写无关
                       
                        ceDbInfo.rgSortSpecs[1].propid = PID_NAME;
                        ceDbInfo.rgSortSpecs[1].dwFlags = CEDB_SORT_CASEINSENSITIVE; //升序,且大小写无关
                        m_ceOid = CeCreateDatabaseEx(&m_ceGuid,&ceDbInfo);
                        if (m_ceOid == 0)
                        {
                                AfxMessageBox(_T("创建数据库失败"));
                                //此处得卸载数据库卷
                                if (!CeUnmountDBVol(&m_ceGuid))
                                {
                                        AfxMessageBox(_T("卸载数据库文件卷失败"));
                                }
                                return ;
                        }
                        //4、创建数据库后,应紧接着打开数据库
                        m_hDB = CeOpenDatabaseEx(&m_ceGuid,&m_ceOid,DBTABLENAME,NULL,CEDB_AUTOINCREMENT,NULL);
                        if (m_hDB == INVALID_HANDLE_VALUE)
                        {
                                AfxMessageBox(_T("打开数据库失败"));
                                //此处得卸载数据库卷
                                if (!CeUnmountDBVol(&m_ceGuid))
                                {
                                        AfxMessageBox(_T("卸载数据库文件卷失败"));
                                }
                                return ;
                        }
                }
                else
                {
                        AfxMessageBox(_T("打开数据库失败"));
                        //此处得卸载数据库卷
                        if (!CeUnmountDBVol(&m_ceGuid))
                        {
                                AfxMessageBox(_T("卸载数据库文件卷失败"));
                        }
                        return ;
                }
        }
}
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个数据库是CEDB,怎么操作书上已经说得很明白了。每次使用数据库首先都要先加载数据库卷,然后打开数据库,再往里面写数据。不用加dll。还有书上的代码是用evc3.0写的。你用的时候要有相应的模拟器。
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 
swordqy()

你能说得更清楚些吗?我确实按照书上说得,难道EVC3.0和4.0不同吗?
此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

7
 
我刚才又试了一下
能创建这个数据库,名字是abc.db
但是不能把我添加的数据显示到列表框里
所以我不知道是添加没添加进去还是显示显示不出来
另外这个在PC机上也仿真不了啊
此帖出自WindowsCE论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

8
 
我知道你说的那个例子
首先是模拟器不匹配
另外那个例子添加记录的那段我觉得有点问题
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

9
 
如果是用源代码的话,必须要有相应的模拟器,自己可以参考代码在4.2上写。
还有就是书上代码有问题(我在5.0上用反正是有问题)。一个是加记录那段代码,可以自己定义一个数组来存属性值,不用new了。还有就是定义学生表示字段那个(makelong那段)应该是CEVT_I2,书上是I4,这和它定义的结构体不符,后面操作也是用的int类型。其他的好像都什么问题。我参考它的代码结构写的EDB数据库可以用,打开,添加,修改,删除,查找,都没问题。
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
我明白了
谢谢大家
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

11
 
给分
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表