|
<< Click to Display Table of Contents >> C Examples: DbiCreateTable |
![]() ![]()
|
Example 1: Create a Paradox table:
This example uses the following input:
fDbiCreateTable1(hDb);
DBIResult fDbiCreateTable1(hDBIDb hTmpDb)
{
CHAR szTblType[] = szPARADOX;
CHAR szTblName[] = "PX_Table";
CRTblDesc TblDesc; // Create Table Descriptor
DBIResult rslt;
UINT16 NumFields = 2;
FLDDesc fldDesc[] = {
{ // Field 1 - TIMESTAMP
1, "MyAlpha", fldPDXDATETIME, fldUNKNOWN, 0, 0,
0, 0, 0, fldvNOCHECKS, fldrREADWRITE
},
{ // FIELD 2 - AUTOINCREMENT
2, "MyNumber", fldPDXAUTOINC, fldUNKNOWN, 0, 0, 0,
0, 0, fldvNOCHECKS, fldrREADWRITE
}
};
memset((void *) &TblDesc, 0, sizeof(CRTblDesc));
lstrcpy(TblDesc.szTblName, szTblName);
lstrcpy(TblDesc.szTblType, szTblType);
TblDesc.iFldCount = NumFields;
TblDesc.pfldDesc = fldDesc;
//Could add indexes, validity checks, and security descriptors here.
rslt = Chk(DbiCreateTable(hTmpDb, TRUE, &TblDesc));
return rslt;
}
Example 2: Create a dBASE table:
This example uses the following input:
fDbiCreateTable2(hDb);
DBIResult fDbiCreateTable2(hDBIDb hTmpDb)
{
CHAR szTblType[] = szDBASE;
CHAR szTblName[] = "dBASE_TBL";
CRTblDesc TblDesc; // Create Table Descriptor
DBIResult rslt;
UINT16 NumFields = 2;
FLDDesc fldDesc[] = {
{ // Field 1 - MEMO
1, "MyAlpha", fldDBMEMO, fldUNKNOWN, 0, 0,
0, 0, 0, fldvNOCHECKS, fldrREADWRITE
},
{ // FIELD 2 - BOOLEAN
2, "MyNumber", fldDBBOOL, fldUNKNOWN, 0, 0, 0,
0, 0, fldvNOCHECKS, fldrREADWRITE
}
};
memset((void *) &TblDesc, 0, sizeof(CRTblDesc));
lstrcpy(TblDesc.szTblName, szTblName);
lstrcpy(TblDesc.szTblType, szTblType);
TblDesc.iFldCount = NumFields;
TblDesc.pfldDesc = fldDesc;
//Could add indexes, validity checks, and security descriptors here.
rslt = Chk(DbiCreateTable(hTmpDb, TRUE, &TblDesc));
return rslt;
}
Example 3: Create a InterBase table:
This example uses the following input:
fDbiCreateTable3(hDb);
DBIResult fDbiCreateTable3(hDBIDb hTmpDb)
{
CHAR szTblName[] = "IB_TBL";
CRTblDesc TblDesc; // Create Table Descriptor
DBIResult rslt;
UINT16 NumFields = 2;
FLDDesc fldDesc[] = {
{ // Field 1 - MEMO
1, "MyAlpha", fldIBCHAR, fldUNKNOWN, 300, 0,
0, 0, 0, fldvNOCHECKS, fldrREADWRITE
},
{ // FIELD 2 - BLOB
2, "MyNumber", fldIBBLOB, fldUNKNOWN, 0, 0, 0,
0, 0, fldvNOCHECKS, fldrREADWRITE
}
};
memset((void *) &TblDesc, 0, sizeof(CRTblDesc));
lstrcpy(TblDesc.szTblName, szTblName);
lstrcpy(TblDesc.szTblType, szTblType);
TblDesc.iFldCount = NumFields;
TblDesc.pfldDesc = fldDesc;
//Could add indexes, validity checks, and security descriptors here.
rslt = Chk(DbiCreateTable(hTmpDb, TRUE, &TblDesc));
return rslt;
}