📄 dbcreate.cpp
字号:
#include <windows.h>
#include <windowsx.h>
#include <aygshell.h>
#include "resource.h"
#include "DbCreate.h"
#include "ErrorReporting.h"
#pragma warning(disable: 4800)
ErrorReport err;
HANDLE handleDB;
CEGUID m_guid;
CEOID m_oid;
CEOID m_oidRecord;
PCEPROPVAL prgPropVal;
bool CreateDB(LPTSTR _dbPath,LPTSTR _dbName){
CEDBASEINFO ced;
bool bResult=CeMountDBVol(&m_guid,_dbPath,OPEN_ALWAYS);
bResult ? true:false;
if(!bResult){ //bResult = false;
MessageBox(NULL, L"mount error!", L"RESULT",MB_OK);
return false;
}
ZeroMemory(&ced,sizeof(CEDBASEINFO));
ced.dwSize = sizeof(CEDBASEINFO);
ced.dwFlags=CEDB_VALIDNAME;
wcscpy(ced.szDbaseName,_dbName);
m_oid=CeCreateDatabaseEx(&m_guid,&ced);
if(m_oid==NULL){
MessageBox(NULL, L"create error!", L"RESULT",MB_OK);
return false;
}
handleDB=CeOpenDatabaseEx(&m_guid,&m_oid,_dbName,NULL,0,NULL); //
if(handleDB==INVALID_HANDLE_VALUE){
MessageBox(NULL, L"open error!", L"RESULT",MB_OK);
err.Report();
return false;
}
prgPropVal=new CEPROPVAL[1024];
ZeroMemory(prgPropVal,sizeof(CEPROPVAL[1024]));
prgPropVal[0].propid=MAKELONG(CEVT_I2,1);
prgPropVal[0].val.iVal =0; //row number is 0,that is, to me, empty record;
m_oidRecord=CeWriteRecordProps(handleDB,0,1,prgPropVal);
if(m_oidRecord==0){
MessageBox(NULL, L"write fail!", L"RESULT",MB_OK);
return false;
}else{
MessageBox(NULL, L"write done!", L"RESULT",MB_OK);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -