急求:关于WINCE 5.0的数据库函数问题

vivian2007 2007-01-08 10:09:17
大家好:
我做的WINCE 5.0的pocket pc 程序里对数据库建立CeCreateDatabaseEx2(SDK里有EDB版的这个函数),但数据库总建立失败,查看错误是:参数不对。我不知道自己的参数错在哪,请求大家给我指教:

#define EDB

CEDBASEINFOEX dbInfo;
memset(&dbInfo, 0, sizeof(CEDBASEINFOEX));
dbInfo.wVersion = 2;
_tcscpy(dbInfo.szDbaseName, _TEXT("DBNAME"));
//确定排序字段个数为一个
dbInfo.wNumSortOrder++;
dbInfo.dwFlags = CEDB_VALIDNAME | CEDB_VALIDSORTSPEC;
dbInfo.rgSortSpecs[0].wVersion = 2;
dbInfo.rgSortSpecs[0].wNumProps = 1;
dbInfo.rgSortSpecs[0].wKeyFlags=0;
WORD sort1PropID = 0 ;
dbInfo.rgSortSpecs[0].rgPropID[0] = MAKELONG(CEVT_LPWSTR, userPropID);
dbInfo.rgSortSpecs[0].rgdwFlags[0]=CEDB_SORT_NONNULL;

m_CeOid = CeCreateDatabaseEx2(&m_CeGuid, &dbInfo);

我单步调试后发现:m_CeOid为0,用GetLastError() 查看错误,发现是:参数不对

请大家帮帮忙,谢谢大家!!
...全文
268 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivian2007 2007-01-08
  • 打赏
  • 举报
回复
请问你的 #define EDB在什么位置定义的。我是在数据库操作类的CPP文件里定义的 #define EDB
samp_miao 2007-01-08
  • 打赏
  • 举报
回复
自己整理下吧,我是从程序的几个函数里面拷出来的,没怎么改。
samp_miao 2007-01-08
  • 打赏
  • 举报
回复
pSort[0].wVersion = SORTORDERSPECEX_VERSION;
pSort[0].wNumProps = 1;
pSort[0].wKeyFlags = 0;
pSort[0].rgdwFlags[0] = CEDB_SORT_UNKNOWNFIRST;

pSort[0].rgPropID[0] = MAKELONG(CEVT_LPWSTR, userPropID);



CEDBASEINFOEX dbinfo = {0};




dbinfo.wVersion = CEDBASEINFOEX_VERSION;
dbinfo.wNumSortOrder = 1;
dbinfo.dwFlags = CEDB_VALIDNAME | CEDB_VALIDSORTSPEC | CEDB_VALIDDBFLAGS;
lstrcpy(dbinfo.szDbaseName, szName);
memcpy(dbinfo.rgSortSpecs, pSort, sizeof(SORTORDERSPECEX));

oidDb = CeCreateDatabaseWithProps(pguidVol, &dbinfo, 0, NULL);

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧