📄 test.cpp
字号:
#include "test.h"
char* g_szFileName = "D:\\db.tdb";
TDDBColumn g_colColumns[3] = { {"intCol", sizeof(int)},
{"doubleCol", sizeof(double)},
{"strCol", 30}
};
TDDBTable g_tabTableDef = { 3, &g_colColumns[0] };
int main(){
CTDDatabase dbMain;
int iRet;
printf( "Attemping to open database\n" );
iRet = dbMain.Open( g_szFileName );
if( iRet != TDDB_OK ){
if( iRet == TDDBERR_FILE_NOT_FOUND ){
printf( "File not found. Attemping to create new database\n" );
iRet = dbMain.CreateNew( g_szFileName, &g_tabTableDef );
if( iRet != TDDB_OK ){
printf( "Could not create not database\n" );
}else{
printf( "Database created successfully\n" );
printf( "Attempting to open new database\n" );
iRet = dbMain.Open( g_szFileName );
if( iRet == TDDB_OK )
printf( "New database opened successfully\n" );
else
printf( "Failed to open new database\n" );
}
} else {
printf( "Error opening database\n" );
}
}
if( !dbMain.IsOpen() ){
getch();
return 0;
}
printf( "Adding 3 new records\n" );
CTDRecord rec1 = dbMain.CreateRecord();
int iColVal = 1;
double dColVal = -3;
char* strColVal = "String Column Value";
rec1.SetField("intCol", (void*) &iColVal, sizeof(iColVal));
rec1.SetField("doubleCol", (void*) &dColVal, sizeof(dColVal));
rec1.SetField("strCol", (void*) strColVal, (int)strlen(strColVal) + 1);
if( dbMain.AddRecord( &rec1 ) != TDDB_OK ){
printf( "Error adding record 1\n" );
getch();
return 0;
}else{
printf( "Record 1 added\n" );
}
iColVal = 2;
rec1.SetField("intCol", (void*)&iColVal, sizeof(iColVal));
if( dbMain.AddRecord( &rec1 ) != TDDB_OK ){
printf( "Error adding record 2\n" );
getch();
return 0;
}else{
printf( "Record 2 added\n" );
}
iColVal = 3;
rec1.SetField("intCol", (void*)&iColVal, sizeof(iColVal));
if( dbMain.AddRecord( &rec1 ) != TDDB_OK ){
printf( "Error adding record 3\n" );
getch();
return 0;
}else{
printf( "Record 3 added\n" );
}
dbMain.DeleteRecord( 3 );
dbMain.DeleteRecord( 4 );
dbMain.DeleteRecord( 5 );
printf("Closing database\n");
dbMain.Close();
printf("Opening database again\n");
iRet = dbMain.Open( g_szFileName );
if( iRet != TDDB_OK ){
printf("Could not open database\n");
getch();
return 0;
} else {
printf("Database opened successfully\n");
}
CTDRecord& rec2 = dbMain.CreateRecord();
unsigned int iRecordCount;
dbMain.GetValidRecordCount( &iRecordCount );
printf("printing all %i records:\n", iRecordCount);
getch();
for(unsigned int i = 0; i < iRecordCount; i++){
int iCol;
double dCol;
char strCol[30];
dbMain.GetRecord(&rec2, i);
rec2.GetField("intCol", &iCol, sizeof(iCol));
rec2.GetField("doubleCol", &dCol, sizeof(dCol));
rec2.GetField("strCol", &strCol[0], 30);
if( rec2.IsValid() )
printf("Record %i: %i, %f, %s\n", i, iCol, dCol, &strCol[0]);
}
printf("Closing database\n");
dbMain.Close();
printf("Done.");
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -