diff options
Diffstat (limited to 'html/xbc12.htm')
-rwxr-xr-x | html/xbc12.htm | 566 |
1 files changed, 566 insertions, 0 deletions
diff --git a/html/xbc12.htm b/html/xbc12.htm new file mode 100755 index 0000000..af33408 --- /dev/null +++ b/html/xbc12.htm @@ -0,0 +1,566 @@ +<!DOCTYPE xbHtml PUBLIC> +<xbHtml> +<TITLE>Xbase DBMS Chapter 12</TITLE> +<BODY BGCOLOR=#FFFFFF> +<H1><p align="center">Database Methods</p></H1> +<p align="center">Chapter Updated 1/30/99</p><hr> +<br> +This chapter lists the database methods and provides links to examples of how +to use them.<br><br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Xbase Database Method List</h3></CAPTION> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Method<TD>Description +<TR><TH ALIGN="LEFT">xbShort rc AppendRecord()<TD>Append a new record to the end of an open database +<TR><TH ALIGN="LEFT">void AutoLockOn()<TD>Turns on automatic record locking (see locking chapter) +<TR><TH ALIGN="LEFT">void AutoLockOff()<TD>Turns off automatic record locking (see locking chapter) +<TR><TH ALIGN="LEFT">void BlankRecord()<TD>Fill the current record buffer with blanks +<TR><TH ALIGN="LEFT">xbLong csum CalcCheckSum()<TD>Calculate checksum on a data record +<TR><TH ALIGN="LEFT">xbShort rc CloseDatabase()<TD>Close an open database +<TR><TH ALIGN="LEFT">xbShort rc CopyDbfStructure(<br> char * NewFileName,<br> + xbShort OverlaySwitch )<TD>Copies the structure of a xbDbf file to a new file +<TR><TH ALIGN="LEFT">xbShort rc CreateDatabase(<br>char * FileName, + XbSchema *s, xbShort OverlaySwitch )<TD>Close an open database +<TR><TH ALIGN="LEFT">xbULong CurrentRecNo()<TD>Returns the current record number +<TR><TH ALIGN="LEFT">xbShort rc DeleteAllRecords()<TD>Mark all records for deletion +<TR><TH ALIGN="LEFT">xbShort rc DeleteRecord()<TD>Mark a record for deletion +<TR><TH ALIGN="LEFT">xbShort rc DumpHeader(xbShort option)<TD>Display information about a .DBF file header +<TR><TH ALIGN="LEFT">xbShort rc DumpRecord(<br>xbULong RecNo)<TD>Dump a record for a database +<TR><TH ALIGN="LEFT">xbLong cnt FieldCount()<TD>Returns number of fields in database +<TR><TH ALIGN="LEFT">xbLong recno GetCurRecNo()<TD>Returns current record number +<TR><TH ALIGN="LEFT">xbShort rc GetFirstRecord()<TD>Get the first record in the database +<TR><TH ALIGN="LEFT">xbShort rc GetLastRecord()<TD>Get the last record in the database +<TR><TH ALIGN="LEFT">xbShort rc GetNextRecord()<TD>Get the next record in the database +<TR><TH ALIGN="LEFT">xbShort rc GetPrevRecord()<TD>Get the previous record in the database +<TR><TH ALIGN="LEFT">xbShort rc GetRecord(xbLong RecNo)<TD>Get a record by record number from an open database +<TR><TH ALIGN="LEFT">char * buf GetRecordBuf()<TD>Returns a pointer to the record buffer +<TR><TH ALIGN="LEFT">xbLong RecCnt NoOfRecords()<TD>Returns the number of records in an open database +<TR><TH ALIGN="LEFT">xbShort rc OpenDatabase(char * FileName)<TD>Open an existing database +<TR><TH ALIGN="LEFT">xbShort rc PackDatabase(<br>xbShort WaitOption)<TD>Compress file and remove deleted records +<TR><TH ALIGN="LEFT">xbShort rc PutRecord(xbULong RecNo)<TD>Put a record in an open database +<TR><TH ALIGN="LEFT">xbShort rc RebuildAllIndices()<TD>Rebuilds all open indices +<TR><TH ALIGN="LEFT">xbShort dflag RecordDeleted()<TD>Determine if a record has been deleted +<TR><TH ALIGN="LEFT">xbShort version SetVersion(xbShort Ver)<TD>Set version to xbase III+ or IV style xbDbf files +<TR><TH ALIGN="LEFT">xbShort rc UndeleteAllRecords()<TD>Unmark all deleted records +<TR><TH ALIGN="LEFT">xbShort rc UndeleteRecord()<TD>Unmark a deleted record +<TR><TH ALIGN="LEFT">xbShort rc Zap(xbShort WaitOption)<TD>Deletes all records from a database +</TABLE> +<BR><BR><hr> +<h2>Method Definitions</h2> +<hr> +<h3>Method xbShort xbDbf::AppendRecord( void )</h3><br> +This method appends the contents of the database record buffer to the end of +the .DBF file and updates the date and number of records in the header of the +datafile.<br><br> +This method also updates any open indexes associated with the database.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Write lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Unsuccessful write operation +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample2.cpp">sample2.cpp</A> for an example +of how to use this method. +<hr> +<h3>Method xbShort xbDbf::BlankRecord( void )</h3><br> +This method overlays the database record buffer with space (0x20) +CHARacters. This method is useful for initializing the record buffer.<br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample2.cpp">sample2.cpp</A> for an example of +how to use this method. +<hr> + +<h3>Method xbLong xbDbf::CalcCheckSum( void )</h3><br> +This method calculates the checksum of a database record. +<hr> + +<h3>Method xbShort xbDbf::CloseDatabase( void )</h3><br> +This method closes an Xbase (.DBF) file +which was previously opened by CreateDatabase or OpenDatabase +and frees any previously allocated memory which is no LONGer needed.<br><br> +This method automatically closes any open indexes associated with the +database before closing the database.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If there is no error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample2.cpp">sample2.cpp</A> for an example +of how to use this method. +<hr> + + +<h3>Method xbShort xbDbf::CopyDbfStructure( char *NewFileName, xbShort OverLay )</h3><br> +This method copies the structure of an Xbase (.DBF) file to file <em>NewFileName</em>. +If there are memo fields, they are included. +<br><br> +The <em>OverLay</em> switch is +used to determine what to do if a xbDbf file with the same name +already exists. If <em>OverLay</em> is set to XB_OVERLAY and the file exists, +the file is overwritten, otherwise an error is returned.<br><br> +<em>Overlay Switch</em> is:<br> +<li>XB_OVERLAY = Overlay file if it exists<br> +<li>XB_DONTOVERLAY = Return with error if file exists<br><br> + +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_FILE_EXISTS<TD>If a file exists and OverLay switch = FALSE +<TR><TH ALIGN="LEFT">XB_OPEN_ERROR<TD>Couldn't open the file +<TR><TH ALIGN="LEFT">XB_NO_MEMORY<TD>Memory allocation error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Couldn't write to disk +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/copydbf.cpp">copydbf.cpp</A> for an example +of how to use this method. +<hr> + + +<h3>Method: xbShort xbDbf::CreateDatabase( char *FileName, + xbSchema *s, xbShort OverLay )</h3><br> +This method creates an Xbase (.DBF) file with the name +of FileName and builds the header record with the format as +defined in the <em>xbSchema</em> parameter. The <em>OverLay</em> switch is +used to determine what to do if a xbDbf file with the same name +already exists. If <em>OverLay</em> is set to XB_OVERLAY and the file exists, +the file is overwritten, otherwise an error is returned.<br><br> +<em>Overlay Switch</em> is:<br> +<li>XB_OVERLAY = Overlay file if it exists<br> +<li>XB_DONTOVERLAY = Return with error if file exists<br><br> +<em>xbSchema</em> has the following format:<br> +<xmp> +xbSchema MyRecordSchema[] = +{ + { FieldName, Type, FieldLength, NoOfDecimals }, + { FieldName2, Type, FieldLength, NoOfDecimals }, + ... + { "",0,0,0 } +}; +</xmp> +Where:<br> +<li><em>FieldName</em> is the name of the data field.<br> +<li><em>Type</em><br><br> +<h4>Version 1.7.4 and greater:</h4> +XB_CHAR_FLD or C<br> +XB_DATE_FLD or D<br> +XB_LOGICAL_FLD or L<br> +XB_MEMO_FLD or M<br> +XB_FLOAT_FLD or F<br> +XB_NUMERIC_FLD or N<br><br> +<li><em>FieldLength</em> is the length of the field.<br> +<li><em>NoOfDecimals</em> is the number of decimals for NUMERIC fields.<br> +<br> +The record buffer is automatically set to spaces when this method is called. +<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_FILE_EXISTS<TD>If a file exists and OverLay switch = FALSE +<TR><TH ALIGN="LEFT">XB_OPEN_ERROR<TD>Couldn't open the file +<TR><TH ALIGN="LEFT">XB_NO_MEMORY<TD>Memory allocation error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Couldn't write to disk +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample1.cpp">sample1.cpp</A> for an example +of how to use this method. +<hr> +<h3>Method xbULong xbDbf::CurrentRecNo( void )</h3><br> +This method returns the current record number.<br><br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/dumprecs.cpp">dumprecs.cpp</A> for an example +of how to use this method. + +<hr> +<h3>Method xbShort xbDbf::DeleteAllRecords( void )</h3><br> +This method marks all unmarked records in the database for deletion.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Could not mark record +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/deletall.cpp">deletall.cpp</A> for an example +of how to use this method. + +<hr> +<h3>Method xbShort xbDbf::DeleteRecord( void )</h3><br> +This method marks the current record for deletion in the database.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Could not mark record +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample4.cpp">sample4.cpp</A> for an example +of how to use this method. + +<hr> +<h3>Method xbShort xbDbf::DumpHeader( xbShort Option )</h3><br> +This method displays information about a .DBF file header to stdout. +This method is only available if the DEBUG option is turned on in the +<em>options.h</em> file<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Options</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Option<TD>Action +<TR><TH ALIGN="LEFT">1<TD>Print Header Only +<TR><TH ALIGN="LEFT">2<TD>Field Data Only +<TR><TH ALIGN="LEFT">3<TD>Header and Field Data +</TABLE> +<br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_INVALID_OPTION<TD>Option must be 1,2 or 3 +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>File is not open +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +</TABLE> +<br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/dumphdr.cpp">dumphdr.cpp</A> for an +example of how to use this method. + +<hr> +<h3>Method xbShort xbDbf::DumpRecord( xbULong RecNo )</h3><br> +This method dumps record RecNo for the database to stdout.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record for RecNo parameter +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/dumprecs.cpp">dumprecs.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbLong xbDbf::FieldCount( void )</h3><br> +This method returns the number of fields defined in the database. +<br><br> +<hr> +<h3>Method xbLong xbDbf::GetCurRecNo( void )</h3><br> +This method returns the current record number of the record in the record buffer. +<br><br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::GetFirstRecord( void )</h3><br> +This method loads the first record of the file into the record buffer.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Unsuccessful lock operation +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +<h4>Example Program:</h4> + +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::GetLastRecord( void )</h3><br> + +This method loads the last record of the file into the record buffer.<br><br> + +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Read lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_EOF<TD>At end of file +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> + +<h4>Example Program:</h4> + +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an example +of how to use this method. +<hr> +<h3>Method xbShort xbDbf::GetNextRecord( void )</h3><br> + +This method loads the next record of the file into the record buffer.<br><br> + +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Read lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_EOF<TD>At end of file +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +</TABLE> + +<h4>Example Program:</h4> + +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::GetPrevRecord( void )</h3><br> + +This method loads the previous record of the file into the record buffer.<br><br> + +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Read lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_BOF<TD>At beginning of file +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::GetRecord( xbLong RecNo )</h3><br> +This method retrieves record RecNo from the database into the record buffer. +<br><br> +This method will call the PutRec method and flush all updates to disk if +necessary before moving to the specified record. If PutRecord is not +successful, this method will return the return code from PutRecord.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Read lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method char * xbDbf::GetRecordBuf( void )</h3><br> +This method returns a pointer to the record buffer. +<br><br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbLong xbDbf::NoOfRecords( void )</h3><br> +This method returns the number of records in the file.<br><br> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::OpenDatabase( char * FileName )</h3><br> +This method opens an Xbase (.DBF) file with the name +of FileName. <em>FileName</em> must a valid filename which can include +drives identifier, directory, filename and extension. <br><br> +The OpenDatabase method does not position to any any particular +data record. After opening a database, use GetRecord, GetFirstRecord +or GetLastRecord to position to a particular data record and load +a data record into the record buffer.<br><br> +The record buffer is automatically set to spaces when this method is called. +<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_OPEN_ERROR<TD>Couldn't open the file +<TR><TH ALIGN="LEFT">XB_NO_MEMORY<TD>Memory allocation error +<TR><TH ALIGN="LEFT">XB_NOT_XBASE<TD>Not an xbXBase type file +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample2.cpp">sample2.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::PackDatabase( xbShort WaitOption )</h3><br> +This method removes all records marked for deletion from an Xbase (.DBF) file +and reindexes any open index files. This method also reorganizes any memo +fields stored in a .DBT memo file. +<br><br> +<em>WaitOption</em> is one of:<br><br> +<li>F_SETLK - returns if the xbDbf file can not be exclusively locked +<li>F_SETLKW - will wait to execute until it can exclusively lock the file +<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_CLOSE_ERROR<TD>If intermediate work file can not be closed +<TR><TH ALIGN="LEFT">XB_OPEN_ERROR<TD>Could not open file +<TR><TH ALIGN="LEFT">XB_NO_MEMORY<TD>Memory allocation error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Error writing to file +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek error encountered +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Can not lock file or index +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/packdbf.cpp">packdbf.cpp</A> for an +example of how to use this method. +<hr> +<h3>Method xbShort xbDbf::PutRecord( xbLong RecNo )</h3><br> +This method copies the record buffer into record <em>RecNo</em> in the database. +This method can be used for updating records which were retrieved by +the GetRecord method.<br><br> +This method updates any open index files.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Write lock not successful +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>Database is not open +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Invalid record number +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek operation failed +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write operation failed +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample3.cpp">sample3.cpp</A> for an +example of how to use this method. +<hr> + +<h3>Method xbShort xbDbf::RebuildAllIndicis( void )</h3><br> +This method rebuilds all opened indicis for the database file.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>If there is no error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Error writing data +<TR><TH ALIGN="LEFT">XB_CLOSE_ERROR<TD>Error closing work file +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/reindex.cpp">reindex.cpp</A> for an +example of how to use this method. +<hr> + + + +<h3>Method xbShort xbDbf::RecordDeleted( void )</h3><br> +This method returns TRUE (or 1) if a record is marked for deletion and +returns FALSE (or 0) if the record is not marked for deletion. <br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">TRUE (1)<TD>Record is marked for deletion +<TR><TH ALIGN="LEFT">FALSE (0)<TD>Record is not marked for deletion +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample4.cpp">sample4.cpp</A> for an +example of how to use this method. +<hr> + + +<h3>Method xbShort xbDbf::SetVersion( xbShort Vswitch )</h3><br> + +This method sets the version of xbDbf and DBT database files and memo files +to be created using the CreateDatabase method. The default setting is +3 - dBASE III+ version files. It can be set to 4 - for dBASE IV style +files.<br><br> +Vswitch is one of:<br> +0 - return current setting<br> +3 - Set to create version III files (default)<br> +4 - Set to create version IV files<br><br> + +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>Setting updated +<TR><TH ALIGN="LEFT">3 or 4<TD>If Vswitch = 0, it returns current version setting +<TR><TH ALIGN="LEFT">XB_INVALID_OPTION<TD>Vswictch not one of 0,3 or 4 +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample1.cpp">sample1.cpp</A> for an +example of how to use this method. +<hr> + +<h3>Method xbShort xbDbf::UndeleteAllRecords( void )</h3><br> +This method unmarks all marked for deletion records in the database.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Could not mark record +<TR><TH ALIGN="LEFT">XB_NOT_OPEN<TD>If the file is not open +<TR><TH ALIGN="LEFT">XB_SEEK_ERROR<TD>Seek routine error +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Write routine error +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/undelall.cpp">undelall.cpp</A> for an example +of how to use this method. +<hr> + +<h3>Method xbShort xbDbf::UndeleteRecord( void )</h3><br> +This method removes the mark for deletion on the current record in the +database.<br><br> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_INVALID_RECORD<TD>Could not unmark record +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/sample4.cpp">sample4.cpp</A> for an +example of how to use this method. +<hr> + +<h3>Method xbShort xbDbf::Zap( xbShort WaitOption )</h3><br> +This method removes all records from a database and any open indices. +<br><br> +<em>WaitOption</em> is one of:<br><br> +<li>F_SETLK - returns if the xbDbf file can not be exclusively locked +<li>F_SETLKW - will wait to execute until it can exclusively lock the file +<br><br> +<TABLE BORDER> +<TABLE BORDER> +<CAPTION ALIGN="TOP"><h3>Method Return Codes</h3></CAPTION><br> +<TR VALIGN="BASELINE"> +<TR><TH ALIGN="LEFT">Return Code<TD>Description +<TR><TH ALIGN="LEFT">XB_NO_ERROR<TD>No error encountered +<TR><TH ALIGN="LEFT">XB_LOCK_FAILED<TD>Could not lock file +<TR><TH ALIGN="LEFT">XB_WRITE_ERROR<TD>Could not write to file +<TR><TH ALIGN="LEFT">XB_OPEN_ERROR<TD>Could not open temp database +</TABLE> +<h4>Example Program:</h4> +See program <A HREF="/XbaseSamples/zap.cpp">zap.cpp</A> for an +example of how to use this method. +<hr> + +<p><img src="xbase.jpg"><br><hr> +</BODY> +</xbHtml> |