Difference between revisions of "Dbxclose()"
From Recital Documentation Wiki
Yvonnemilne (Talk | contribs) |
Yvonnemilne (Talk | contribs) |
||
Line 12: | Line 12: | ||
<input parameters> | <input parameters> | ||
− | char *dbx; /* Tagged index file descriptor */ | + | char *dbx; /* Tagged index file descriptor */ |
<output parameters> | <output parameters> | ||
Line 38: | Line 38: | ||
<code lang="c"> | <code lang="c"> | ||
#include <stdio.h> | #include <stdio.h> | ||
− | #include "dbl.h" | + | #include "dbl.h" /* Recital/Library include file */ |
− | #include "dblproto.h" /* Recital/Library prototype file */ | + | #include "dblproto.h" /* Recital/Library prototype file */ |
static dBFIELD fields[6] = { | static dBFIELD fields[6] = { | ||
"VESSEL", 'C', 18, 0, 0, | "VESSEL", 'C', 18, 0, 0, | ||
− | "LAT", 'N', 4, 1, 0, | + | "LAT", 'N', 4, 1, 0, |
− | "LONG", 'N', 4, 1, 0, | + | "LONG", 'N', 4, 1, 0, |
"AMOUNT", 'N', 10, 0, 0, | "AMOUNT", 'N', 10, 0, 0, | ||
− | "DATE", 'D', 8, 0, 0, | + | "DATE", 'D', 8, 0, 0, |
− | "FLAG", 'C', 9, 0, 0 | + | "FLAG", 'C', 9, 0, 0 |
}; | }; | ||
Line 57: | Line 57: | ||
main() | main() | ||
{ | { | ||
− | + | int rc; /* Return Code for error handling */ | |
− | + | char *dbf; /* File descriptor for table */ | |
− | + | char *dbx; /* File descriptor for tagged index */ | |
− | + | rc = dbdcache(100); | |
− | + | errorproc("dbdcache()","table cache specified.", rc); | |
− | + | rc = dbicache(100); | |
− | + | errorproc("dbicache()", "index cache specified.",rc); | |
− | + | rc = dbfilemode(0,0); | |
− | + | rc = dbopen("shipwreck.dbf", &dbf); | |
− | + | errorproc("dbopen()","table opened in exclusive mode.", rc); | |
− | + | rc = dbxcreate( dbf, | |
fields[0].fieldnm, /* "VESSEL", */ | fields[0].fieldnm, /* "VESSEL", */ | ||
&dbx, | &dbx, | ||
Line 76: | Line 76: | ||
0, | 0, | ||
0); | 0); | ||
− | + | errorproc("dbxcreate()","tag created", rc); | |
− | + | rc = dbxclose(dbx); | |
− | + | errorproc("dbxclose()", "tagged index closed.", rc); | |
− | + | rc = dbclose(dbf); | |
− | + | errorproc("dbclose()", "table closed.", rc); | |
− | + | exit(0); | |
} | } | ||
Line 92: | Line 92: | ||
{ | { | ||
if ( rc != SUCCESS ) { | if ( rc != SUCCESS ) { | ||
− | + | printf("\n Error performing function %s -> %d\n", func, rc); | |
− | + | exit(1); | |
} | } | ||
− | printf("Function: t%s, t%s - | + | printf("Function: \t%s, \t%s - Ok\n", func, str); |
return; | return; | ||
} | } |
Latest revision as of 14:56, 5 May 2009
PURPOSE
close an open tagged index file
SYNOPSIS
#include "dbl.h" int dbxclose(dbx); <input parameters> char *dbx; /* Tagged index file descriptor */ <output parameters> none
RETURN VALUE
The dbxclose() function returns 0 for success, or < 0 if an error occurs. See the section on return code values for a detailed list of return codes.
DESCRIPTION
The dbxclose() function is used to close the tagged index file, .DBX specified in the file descriptor.
EXAMPLE
The following example creates a tag on the VESSEL field for the shipwreck.dbf table, then closes the index and the table.
#include <stdio.h> #include "dbl.h" /* Recital/Library include file */ #include "dblproto.h" /* Recital/Library prototype file */ static dBFIELD fields[6] = { "VESSEL", 'C', 18, 0, 0, "LAT", 'N', 4, 1, 0, "LONG", 'N', 4, 1, 0, "AMOUNT", 'N', 10, 0, 0, "DATE", 'D', 8, 0, 0, "FLAG", 'C', 9, 0, 0 }; static void errorproc( char *func, char *str, int rc); main() { int rc; /* Return Code for error handling */ char *dbf; /* File descriptor for table */ char *dbx; /* File descriptor for tagged index */ rc = dbdcache(100); errorproc("dbdcache()","table cache specified.", rc); rc = dbicache(100); errorproc("dbicache()", "index cache specified.",rc); rc = dbfilemode(0,0); rc = dbopen("shipwreck.dbf", &dbf); errorproc("dbopen()","table opened in exclusive mode.", rc); rc = dbxcreate( dbf, fields[0].fieldnm, /* "VESSEL", */ &dbx, fields[0].fieldnm, /* "VESSEL", */ NULL, 0, 0); errorproc("dbxcreate()","tag created", rc); rc = dbxclose(dbx); errorproc("dbxclose()", "tagged index closed.", rc); rc = dbclose(dbf); errorproc("dbclose()", "table closed.", rc); exit(0); } static void errorproc(func, str, rc) char *func; char *str; int rc; { if ( rc != SUCCESS ) { printf("\n Error performing function %s -> %d\n", func, rc); exit(1); } printf("Function: \t%s, \t%s - Ok\n", func, str); return; }