#include <stdio.h>
#include <bzs/db/protocol/tdap/client/database.h>
#include <bzs/db/protocol/tdap/client/table.h>
#include <bzs/db/protocol/tdap/client/dbDef.h>
using namespace bzs::db::protocol::tdap::client;
using namespace bzs::db::protocol::tdap;
void showError(const _TCHAR* caption, const _TCHAR* tableName, short statusCode)
{
_TCHAR tmp[1024] = { 0x00 };
_tprintf(_T("[ERROR] %s No.%ld %s\n"), caption, statusCode, tmp);
}
bool createBatabase(
database* db,
const _TCHAR* uri)
{
{
showError(_T(
"createDatabse"), NULL, db->
stat());
return false;
}
return true;
}
bool openDbExclusive(
database* db,
const _TCHAR* uri)
{
db->
open(uri, TYPE_SCHEMA_BDF, TD_OPEN_EXCLUSIVE);
{
showError(_T(
"openBatabase"), NULL, db->
stat());
return false;
}
return true;
}
bool createUserTableSchema(
dbdef* def)
{
{
showError(_T(
"create schema table user"), NULL, def->
stat());
return false;
}
short fieldNum = 0;
uchar_td keyNum = 0;
keyNum = 1;
{
showError(_T(
"edit schema table"), NULL, def->
stat());
return false;
}
return true;
}
bool createGroupTableSchema(
dbdef* def)
{
{
showError(_T(
"create schema table group1"), NULL, def->
stat());
return false;
}
short fieldNum = 0;
uchar_td keyNum = 0;
{
showError(_T(
"edit schema table"), NULL, def->
stat());
return false;
}
return true;
}
bool createPictureTableSchema(
dbdef* def)
{
{
showError(_T(
"create schema table picture"), NULL, def->
stat());
return false;
}
short fieldNum = 0;
uchar_td keyNum = 0;
{
showError(_T(
"edit schema table"), NULL, def->
stat());
return false;
}
return true;
}
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
int result = 1;
static const _TCHAR* uri = _T("tdap://localhost/test?dbfile=test.bdf");
if (createBatabase(db, uri))
{
if (openDbExclusive(db, uri))
{
if (createUserTableSchema(db->
dbDef()))
{
if (createGroupTableSchema(db->
dbDef()))
{
if (createPictureTableSchema(db->
dbDef()))
{
_tprintf(_T("create databse success. \n"));
result = 0;
}
}
}
}
}
return result;
}
#include <bzs/db/protocol/tdap/client/trdboostapi.h>
#include <iostream>
#include <bzs/env/tstring.h>
using namespace bzs::db::protocol::tdap::client;
using namespace bzs::db::protocol::tdap;
void createUserTableSchema(
dbdef* def)
{
short tableid = 1;
const _TCHAR* name = _T("user");
short fieldNum = 0;
insertField(def, tableid, fieldNum, _T(
"id"), ft_integer, 4);
insertField(def, tableid, ++fieldNum, _T(
"name"), ft_myvarchar, size);
insertField(def, tableid, ++fieldNum, _T(
"group"), ft_integer, 4);
uchar_td keyNum = 0;
keyNum = 1;
}
void createGroupTableSchema(
dbdef* def)
{
short tableid = 2;
const _TCHAR* name = _T("group1");
short fieldNum = 0;
insertField(def, tableid, fieldNum, _T(
"id"), ft_integer, 4);
insertField(def, tableid, ++fieldNum, _T(
"name"), ft_myvarchar, size);
uchar_td keyNum = 0;
}
void createPictureTableSchema(
dbdef* def)
{
short tableid = 3;
const _TCHAR* name = _T("picture");
short fieldNum = 0;
insertField(def, tableid, fieldNum, _T(
"type"), ft_integer, 2);
insertField(def, tableid, ++fieldNum, _T(
"id"), ft_integer, 4);
insertField(def, tableid, ++fieldNum, _T(
"picture"), ft_myblob, 11);
uchar_td keyNum = 0;
}
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
try
{
_T("test"));
prams.setMode(TD_OPEN_EXCLUSIVE);
createUserTableSchema(db->dbDef());
createGroupTableSchema(db->dbDef());
createPictureTableSchema(db->dbDef());
std::cout << "create databse success." << std::endl;
return 0;
}
catch (bzs::rtl::exception& e)
{
std::tcout << _T("[ERROR] ") << *bzs::rtl::getMsg(e) << std::endl;
}
return 1;
}