Thread View: borland.public.cppbuilder.database.multi-tier
2 messages
2 total messages
Started by Carmen G�mez
Tue, 23 Nov 2004 10:54
Table is full
Author: Carmen G�mez
Date: Tue, 23 Nov 2004 10:54
Date: Tue, 23 Nov 2004 10:54
12 lines
1198 bytes
1198 bytes
Hi all, I have a problem. When I add records in a table, I receive this message "Table is full". The table is Paradox and I use TQuery for filter data. What can I do? Thanks all Carmen.
Re: Table is full
Author: Sydney Delieu
Date: Wed, 24 Nov 2004 14:02
Date: Wed, 24 Nov 2004 14:02
68 lines
3046 bytes
3046 bytes
Hi Carmen,
I have not used Paradox tables to any great extent, but I did come
across the same problem some time ago. The problem was to do with the
Paradox 'Block Size'. The Block Size of a Paradox table can be 1024,
2048, 4096, 16384, or 32768 (depending on the version of Paradox). From
memory - there is a finite number of blocks (I think it's 65536) a
Paradox table can contain, so the Block Size you set determines the
maximum size of the table (ie 65536 * BlockSize).
Here is the method I wrote to convert the blocksize - it was converted
from a Delphi example given on the Borland site. It doesn't check for
errors and is cheap and nasty (ie. does not check the Paradox table
version info to see if the requested blocksize can be used), but it did
the trick for me:
//--------------------------------------------------
// Convert blocksize given the TTable and BlkSize.
//--------------------------------------------------
void __fastcall ParadoxRestructure::ChangeBlockSize(TTable *tbl, String
BlkSize)
{
CRTblDesc TblDesc;
FLDDesc pFDesc;
hDBIDb hDB;
String Option, OptData;
Option = "BLOCK SIZE";
OptData = BlkSize;
DbiGetObjFromObj(tbl->Handle, objDATABASE, hDB);
tbl->Close();
memset((void*)&TblDesc, 0, sizeof(TblDesc));
lstrcpy(TblDesc.szTblName, tbl->TableName.c_str());
lstrcpy(TblDesc.szTblType, szPARADOX);
pFDesc.iOffset = 0;
pFDesc.iLen = strlen(OptData.c_str()) + 1;
lstrcpy(pFDesc.szName, Option.c_str());
TblDesc.iOptParams = 1;
TblDesc.pfldOptParams = &pFDesc;
TblDesc.pOptData = &OptData[1];
DbiDoRestructure(hDB, 1, &TblDesc, NULL, NULL, NULL, false);
}
Hope that this helps.
Regards,
Syd.
Carmen G�mez wrote:
> Hi all,
>
> I have a problem.
>
> When I add records in a table, I receive this message "Table is full".
> The table is Paradox and I use TQuery for filter data.
>
> What can I do?
>
> Thanks all
>
> Carmen.
>
>
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads