青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 54, comments - 32, trackbacks - 0, articles - 0

//SP-A1.創(chuàng)建或打開數(shù)據(jù)庫卷
?CEGUID m_ceguid;?//4個DWORD的數(shù)據(jù)組成的結(jié)構(gòu)體,用來標(biāo)識數(shù)據(jù)庫文件位置
//?PCEGUID pguid;
?if(!CeMountDBVol(&m_ceguid,??//數(shù)據(jù)庫文件位置
?????L"DB",???//數(shù)據(jù)卷的名稱
?????OPEN_ALWAYS))?//操作標(biāo)志
?{
??MessageBox(_T("Open Or Create DBVol Fail!"));
?}
?else
?{
??MessageBox(_T("Open Or Create DBVol Success!"));
?}

/*
?//SP-A2.枚舉已裝在的數(shù)據(jù)庫卷
?CEGUID guid;
?TCHAR szVolume[10];
?TCHAR szVolumef[10];
?int nCnt = 0;

?CREATE_INVALIDGUID(&guid);
?while(CeEnumDBVolumes(&guid,szVolume,sizeof(szVolume)))
?{
??nCnt++;
??wsprintf(szVolumef,TEXT("Mounted Vol is %s"),szVolume);?//格式化輸出
??MessageBox(szVolumef);?//彈出所有已裝載數(shù)據(jù)庫的名字
?}
?
??//2.彈出已裝載數(shù)據(jù)庫的數(shù)量nCnt
?TCHAR temp[20];
?TCHAR tempf[20];
?
?_itow(nCnt,temp,10);?//將i轉(zhuǎn)換為字符串放入temp中,最后一個數(shù)字表示十進(jìn)制
?wsprintf(tempf,TEXT("The Number of Mounted Vol is %s"),temp);
?MessageBox(tempf);


?//SP-A3.卸載數(shù)據(jù)庫卷,并重新彈出所有已裝載數(shù)據(jù)庫的名字及數(shù)量
?CEGUID guid1;
?TCHAR szVolume1[10];
?int nCnt1 = 0;

?CREATE_INVALIDGUID(&guid1);
?CeUnmountDBVol(&m_ceguid);
?while(CeEnumDBVolumes(&guid1,szVolume1,sizeof(szVolume1)))
?{
??nCnt1++;
??MessageBox(szVolume1);?//彈出所有已裝載數(shù)據(jù)庫的名字
?}
?TCHAR temp1[10];
?_itow(nCnt1,temp1,10);?//將i轉(zhuǎn)換為字符串放入temp中,最后一個數(shù)字表示十進(jìn)制
?MessageBox(temp1);
*/


/**/
?//SP-A4.創(chuàng)建數(shù)據(jù)庫

//?#define PID_PASSWORD?????? MAKELONG (CEVT_LPWSTR, 1)
?HANDLE m_hdb=0;????????//返回的已打開數(shù)據(jù)庫的句柄
?CEOID m_ceoid=0;???????//typedef DWORD CEOID;

?TCHAR DBTABLENAME[20] = _T("myDB");

?//1.打開數(shù)據(jù)庫,并檢查返回值
?m_hdb = CeOpenDatabaseEx(&m_ceguid,???//數(shù)據(jù)庫卷的位置
???????&m_ceoid,???//通過名稱引用數(shù)據(jù)庫,所以將CEOID值設(shè)為0
???????DBTABLENAME,??//數(shù)據(jù)庫名稱
???????NULL,????//
???????CEDB_AUTOINCREMENT,?//讀取一個記錄后,數(shù)據(jù)庫指針自增
???????NULL);????//控制發(fā)送數(shù)據(jù)庫變化消息的方式

??? if (m_hdb == INVALID_HANDLE_VALUE)
?{
??int rc;
??????? rc = GetLastError();

??TCHAR temp1[10];
??_itow(rc,temp1,10);?
??MessageBox(temp1);

??//2.如果沒有該數(shù)據(jù)庫,則創(chuàng)建個新的
??????? if (rc == ERROR_FILE_NOT_FOUND)??
??{
???//2.1填寫數(shù)據(jù)庫信息
???CEDBASEINFO cedbaseinfo;???//數(shù)據(jù)庫信息的結(jié)構(gòu)體
???cedbaseinfo.dwFlags = CEDB_VALIDNAME
????????| CEDB_VALIDTYPE
????????| CEDB_VALIDSORTSPEC; //修建數(shù)據(jù)庫中要用到的類型
???wcscpy(cedbaseinfo.szDbaseName,DBTABLENAME);
???cedbaseinfo.dwDbaseType = 0;
???cedbaseinfo.wNumSortOrder = 1 ;
???cedbaseinfo.rgSortSpecs[0].propid = PID_PASSWORD;
???cedbaseinfo.rgSortSpecs[0].dwFlags = CEDB_SORT_CASEINSENSITIVE;
???//2.2創(chuàng)建數(shù)據(jù)庫
???m_ceoid = CeCreateDatabaseEx(&m_ceguid,&cedbaseinfo);
???if(m_ceoid==0)
???{
????MessageBox(TEXT("fail"));
???}
???else
???{
????//3創(chuàng)建后打開數(shù)據(jù)庫
????m_hdb = CeOpenDatabaseEx(&m_ceguid,
??????????&m_ceoid,
??????????DBTABLENAME,
??????????NULL,
??????????CEDB_AUTOINCREMENT,
??????????NULL);
????MessageBox(TEXT("build Database success"));

????//3.1.打開數(shù)據(jù)庫錯誤判斷
????if(INVALID_HANDLE_VALUE == m_hdb)
????{
?????rc = GetLastError();
?????switch(rc)
?????{
??????case ERROR_INVALID_PARAMETER:
??????MessageBox(L"ERROR_INVALID_PARAMETER");
??????break;

??????case ERROR_FILE_NOT_FOUND:
??????MessageBox(L"ERROR_FILE_NOT_FOUND");
??????break;

??????case ERROR_NOT_ENOUGH_MEMORY:
??????MessageBox(L"ERROR_NOT_ENOUGH_MEMORY");
??????break;

??????default :
??????MessageBox(L"Database Opened");
??????break;
?????}
????}
???}
??}
??else?//1.1打開數(shù)據(jù)庫錯誤判斷
??{
???switch(rc)
???{
????case ERROR_INVALID_PARAMETER:
????MessageBox(L"ERROR_INVALID_PARAMETER");
????break;

????case ERROR_FILE_NOT_FOUND:
????MessageBox(L"ERROR_FILE_NOT_FOUND");
????break;

????case ERROR_NOT_ENOUGH_MEMORY:
????MessageBox(L"ERROR_NOT_ENOUGH_MEMORY");
????break;

????default :
????MessageBox(L"Database Opened");
????break;
???}
??}
?}

?//SP-A5.查找(搜索)記錄
?DWORD dwIndex;????????//索引
?CEOID oid;?????????//CEOID是DWORD
???/*
????@type CEOID | Unique identifier for all WINCE objects
????@comm Every WINCE object can be efficiently referred to by its OID. OID's are unique
???? in the system and are not reused
???*/

?oid = CeSeekDatabase(m_hdb,?????//已打開數(shù)據(jù)庫的句柄
??????CEDB_SEEK_BEGINNING,?//查找數(shù)據(jù)庫的第n個記錄
??????0,??????//n值
??????&dwIndex);????// receives the index from the start of the database to the beginning of the record that was found. This parameter can be NULL.

?if(0 == oid)
?{
??MessageBox(L"there is no first item in the database!");
??///insert record

??CEPROPVAL * pRorps;
??pRorps = new CEPROPVAL;

??//
??memset(pRorps,0,LocalSize(pRorps));
??pRorps->propid = PID_PASSWORD;
??pRorps->val.lpwstr = TEXT("SONGPENG");

??oid =0;
??oid = CeWriteRecordProps(m_hdb,???//已打開數(shù)據(jù)庫句柄
????????0,????//為0,則創(chuàng)建新記錄
????????1,????//屬性ID結(jié)構(gòu)數(shù)組中項目的數(shù)量
????????pRorps);??//要記錄的東東

??if (oid == 0)
??{
???MessageBox(TEXT("insert failues"));
??}
??else
??{
???MessageBox(TEXT("insert success"));
???oid = CeSeekDatabase(m_hdb,?????//已打開數(shù)據(jù)庫的句柄
??????CEDB_SEEK_BEGINNING,?//查找數(shù)據(jù)庫的第n個記錄
??????0,??????//n值
??????&dwIndex);?
???if(0 != oid)
???{
????MessageBox(L"first item found!");
???}
??}
?}
?else
?{
??MessageBox(L"first item found!");
?}

?//SP-A6.讀取記錄
?WORD wProps;?????//屬性個數(shù)
?PBYTE pBuff;?????//緩沖區(qū)
?pBuff=0;
?DWORD dwRecSize;????//緩沖區(qū)大小

?oid=CeReadRecordProps(m_hdb,?//已打開數(shù)據(jù)庫的句柄
?CEDB_ALLOWREALLOC,????//函數(shù)可以擴(kuò)大緩沖區(qū),以便容納返回數(shù)據(jù)
?&wProps,??????//包含了rProgID指向的CEPROPID結(jié)構(gòu)的 數(shù)量
?NULL,???????//一次讀取記錄所有必須屬性
?&(LPBYTE)pBuff,????//指向緩沖區(qū)指針的指針
?&dwRecSize);

?if (oid == 0)
?{
??????? TCHAR szTxt[64];
??????? INT rc = GetLastError();
??????? wsprintf (szTxt, TEXT ("Db item not read. rc = %d (%x)"),
????????????????? rc, rc);
??????? MessageBox (szTxt);
?}
?else
?{
??PCEPROPVAL pRecord;
??pRecord = (PCEPROPVAL)pBuff;?//指向CEPROVAL數(shù)組
??TCHAR tmp[20];
??for(int i=0;i<wProps;i++)
??{
???switch(pRecord->propid)
???{
???case PID_PASSWORD:
????lstrcpy(tmp,pRecord->val.lpwstr);
????break;
???default:
????break;
???}
???pRecord++;
??}
??MessageBox(tmp);
??LocalFree(pBuff);
?}

?//SP-A7.刪除記錄
?oid = CeSeekDatabase(m_hdb,CEDB_SEEK_BEGINNING,0,NULL);
?if( CeDeleteRecord(m_hdb,oid))
?MessageBox(_T("DELE success"));

?if(CloseHandle(m_hdb))
?MessageBox(_T("close success"));

?if(CeUnmountDBVol(&m_ceguid))
?MessageBox(_T("unmount success"));

}

/*
//用到的結(jié)構(gòu)體和聯(lián)合體
typedef struct _CEPROPVAL {
CEPROPID propid;?//屬性ID
WORD wLenData;??//不用
WORD wFlags;??//標(biāo)識
CEVALUNION val;??//屬性值(聯(lián)合體)
} CEPROPVAL;
typedef CEPROPVAL *PCEPROPVAL;

typedef union _CEVALUNION {
short iVal;
USHORT uiVal;
long lVal;
ULONG ulVal;
FILETIME filetime;
LPWSTR lpwstr;??//字符串形式
CEBLOB blob;
BOOL boolVal
double dblVal
} CEVALUNION;


typedef struct _CEDBASEINFO {
??? DWORD??? dwFlags;?????????? //@field Indicates which fields are valid. Possible values are:
??????????????????????????????? //? @flag CEDB_VALIDNAME | The name field is valid and should be used
??????????????????????????????? //? @flag CEDB_VALIDTYPE | The type field is valid and should be used
??????????????????????????????? //? @flag CEDB_VALIDSORTSPEC | The sortspecs are valid and should be used
??? WCHAR??? szDbaseName[CEDB_MAXDBASENAMELEN]; //@field Name of Database. Max CEDB_MAXDBASENAMELEN characters.
??? DWORD??? dwDbaseType;?????? //@field A type ID for this database
??? WORD???? wNumRecords;?????? //@field Number of records in the database
??? WORD???? wNumSortOrder;???? //@field Number of sort orders active in the database
??????????????????????????????? // Maximum is CEDB_MAXSORTORDER.
??? DWORD??? dwSize;??????????? //@field Size in bytes that this database is using
??? FILETIME ftLastModified;??? //@field Last time this database was modified
??? SORTORDERSPEC rgSortSpecs[CEDB_MAXSORTORDER];? //@field Actual sort order descriptions.
??????????????????????????????? // Only first wNumSortOrder of this array are valid.
} CEDBASEINFO, *PCEDBASEINFO;
*/

Feedback

# re: 7數(shù)據(jù)庫(在EVC 的EMULATOR上調(diào)試通過)Version2  回復(fù)  更多評論   

2007-04-13 18:12 by 周健
這個是POCKET平臺下的吧

# re: 7數(shù)據(jù)庫(在EVC 的EMULATOR上調(diào)試通過)Version2  回復(fù)  更多評論   

2007-04-14 21:22 by 宋鵬
是的,由于編譯器是EVC,所以編的都是Wince的程序

# re: 7數(shù)據(jù)庫(在EVC 的EMULATOR上調(diào)試通過)Version2  回復(fù)  更多評論   

2007-12-05 15:57 by wince學(xué)習(xí)
你好,我用如下代碼創(chuàng)建一個數(shù)據(jù)庫,可是總是不成功,用GetLastError得到的信息是〖87〗-參數(shù)錯誤。能幫我看看是怎么回事嗎?
是在vs200+wm5.0下編譯的。
void CreateDatabase(void)
{
int ret;
CEDBASEINFOEX dbinfo;
CEOID CeOid;
CEGUID m_ceguidDB;

CREATE_INVALIDGUID(&m_ceguidDB);

if (!CeMountDBVolEx(&m_ceguidDB, L"\\Documents and settings\\MyDBVol.Vol",0, OPEN_EXISTING ))
{
DWORD dwErr = GetLastError();
CeUnmountDBVol(&m_ceguidDB);
}
else
{
ZeroMemory(&dbinfo, sizeof(CEDBASEINFOEX));

dbinfo.wVersion = 1;
wcscpy(dbinfo.szDbaseName, L"MyDB");
dbinfo.dwFlags = CEDB_VALIDCREATE;
dbinfo.wNumSortOrder = 1;
dbinfo.rgSortSpecs[0].wVersion = 1;
dbinfo.rgSortSpecs[0].wNumProps = 1;
dbinfo.rgSortSpecs[0].wKeyFlags = 0;
dbinfo.rgSortSpecs[0].rgPropID[0] = MAKELONG(CEVT_I4, 1);
dbinfo.rgSortSpecs[0].rgdwFlags[0] = CEDB_SORT_NONNULL;
CeOid=CeCreateDatabaseWithProps(&m_ceguidDB, &dbinfo,0,NULL);
ret = GetLastError();
}
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线免费观看日本欧美| 欧美精品123区| 国产精品美女www爽爽爽| 9l国产精品久久久久麻豆| 亚洲国产欧美日韩精品| 欧美激情网友自拍| 亚洲免费在线看| 欧美亚洲在线| 亚洲精品1234| 亚洲美女中出| 国产日韩欧美电影在线观看| 久久久久久9| 欧美成人一区二区| 亚洲曰本av电影| 久久精品国产77777蜜臀| 亚洲国内自拍| 亚洲天堂偷拍| 在线看国产日韩| 亚洲精品一区二区在线| 国产日韩欧美不卡在线| 亚洲国产精品国自产拍av秋霞| 欧美日韩性生活视频| 久久裸体视频| 欧美日韩一区视频| 久久这里只有| 欧美四级在线观看| 欧美高清你懂得| 国产精品一区一区三区| 欧美高清在线| 国产亚洲激情视频在线| 最新国产精品拍自在线播放| 国产视频在线一区二区| 亚洲精品久久久久久久久久久久久| 国产精品久久久久高潮| 亚洲激情亚洲| 好吊色欧美一区二区三区视频| 99国产精品久久久久老师| 激情校园亚洲| 香港久久久电影| 亚洲视频在线观看视频| 久久综合国产精品台湾中文娱乐网| 亚洲欧美日韩成人| 欧美日韩p片| 欧美激情aⅴ一区二区三区| 国产日韩欧美a| 亚洲无限乱码一二三四麻| 亚洲精品免费看| 久久蜜臀精品av| 久久国产精品久久久久久久久久| 国产精品爱久久久久久久| 亚洲欧洲精品成人久久奇米网 | 久久精品久久综合| 久久er精品视频| 国产欧美三级| 亚洲自拍电影| 午夜一区二区三区不卡视频| 欧美日韩国产在线看| 亚洲人成毛片在线播放| 99精品国产高清一区二区| 欧美+日本+国产+在线a∨观看| 久久艳片www.17c.com| 日韩视频免费在线| 嫩模写真一区二区三区三州| 国产日韩欧美一区二区三区四区| 一本色道久久综合亚洲精品不| 亚洲日本久久| 欧美v日韩v国产v| 亚洲国产日韩一级| 日韩亚洲成人av在线| 欧美日韩国产高清视频| 在线亚洲欧美| 久久精品日产第一区二区| 狠狠色狠色综合曰曰| 久久综合伊人77777蜜臀| 欧美激情在线观看| 夜夜嗨网站十八久久| 欧美午夜久久| 欧美在线关看| 欧美激情久久久| 日韩亚洲成人av在线| 欧美性jizz18性欧美| 一区二区高清视频| 久久精品国产99国产精品| 国外成人性视频| 欧美高清一区| 亚洲午夜激情网页| 麻豆成人综合网| 妖精视频成人观看www| 国产精品日本一区二区| 久久精品免费| 亚洲精品女av网站| 亚洲一区在线视频| 极品日韩久久| 欧美三级电影大全| 久久精品毛片| 亚洲视频在线一区| 欧美成人福利视频| 亚洲欧美美女| 亚洲啪啪91| 国产婷婷一区二区| 欧美激情综合五月色丁香小说 | 麻豆成人在线| 亚洲伊人一本大道中文字幕| 狠狠色狠狠色综合日日tαg| 欧美日产在线观看| 久久精品国产亚洲一区二区三区 | 亚洲伦理在线| 欧美成人免费一级人片100| 亚洲欧美综合| 夜夜嗨av一区二区三区网站四季av| 国产小视频国产精品| 欧美视频在线观看一区二区| 久久av二区| 亚洲一级电影| 亚洲三级免费电影| 欧美不卡视频一区发布| 香蕉久久精品日日躁夜夜躁| 亚洲乱码国产乱码精品精天堂| 国产性猛交xxxx免费看久久| 欧美特黄a级高清免费大片a级| 另类春色校园亚洲| 欧美综合77777色婷婷| 亚洲网站视频| 中文日韩在线视频| 亚洲精品资源美女情侣酒店| 欧美国产一区二区在线观看| 麻豆精品在线视频| 久久精品一二三区| 久久成人免费视频| 性欧美激情精品| 亚洲综合日韩在线| 久久精品99| 久久精品人人做人人爽| 亚洲欧美国产77777| 99精品免费| 99热这里只有精品8| 亚洲国产天堂久久综合网| 在线观看视频一区二区欧美日韩| 国产日韩精品一区二区三区| 国产精品专区一| 国产精品午夜电影| 国产偷久久久精品专区| 国产日韩欧美自拍| 国产揄拍国内精品对白| 国产一区二区三区免费不卡| 国产亚洲午夜高清国产拍精品| 国产欧美日韩视频在线观看| 国产欧美一区二区三区另类精品| 国产欧美另类| 国内精品伊人久久久久av一坑| 一区二区亚洲欧洲国产日韩| 在线激情影院一区| 亚洲福利专区| 一区二区三区久久网| 亚洲影院免费观看| 久久精品一区二区三区不卡牛牛| 久热精品在线| 亚洲精品久久久久久久久久久久| avtt综合网| 午夜免费电影一区在线观看| 久久精品一区二区三区不卡牛牛| 猛干欧美女孩| 欧美日韩在线大尺度| 国产精品视频一区二区三区| 激情小说另类小说亚洲欧美| 亚洲精选中文字幕| 午夜在线视频观看日韩17c| 久久久亚洲欧洲日产国码αv| 欧美大片在线观看| 亚洲五月六月| 久久九九全国免费精品观看| 欧美电影免费观看高清| 国产精品日本精品| 亚洲黄色免费电影| 亚洲欧美日韩在线播放| 麻豆freexxxx性91精品| 一区二区三区日韩欧美精品| 久久99在线观看| 欧美日韩国产页| 国产专区综合网| 亚洲看片网站| 久久综合狠狠综合久久激情| 亚洲人精品午夜在线观看| 亚洲欧美日韩国产综合在线| 欧美成人一区二免费视频软件| 国产欧美日韩在线播放| 最新国产拍偷乱拍精品| 久久精品国产精品亚洲精品| 亚洲青涩在线| 久久深夜福利| 国产欧美三级| 亚洲综合色丁香婷婷六月图片| 欧美成人高清| 久久av在线| 国产欧美日韩视频一区二区| 在线视频你懂得一区| 亚洲成人中文| 久久综合免费视频影院| 国产日韩精品入口| 小辣椒精品导航|