a0f5e0898b
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
83 lines
1.5 KiB
C
Executable File
83 lines
1.5 KiB
C
Executable File
/***********************************************************************\
|
|
* *
|
|
* RELATE2.C Copyright (C) 1993 Sequiter Software Inc. *
|
|
* *
|
|
\***********************************************************************/
|
|
/* See User's Manual, page 139 */
|
|
|
|
#include "d4all.h"
|
|
|
|
#ifdef __TURBOC__
|
|
extern unsigned _stklen = 10000;
|
|
#endif
|
|
|
|
CODE4 code_base;
|
|
DATA4 *student = NULL;
|
|
|
|
void open_data_files() ;
|
|
|
|
void open_data_files()
|
|
{
|
|
student = d4open(&code_base,"STUDENT");
|
|
|
|
e4exit_test(&code_base);
|
|
}
|
|
|
|
void print_record(DATA4 *data_file)
|
|
{
|
|
int j;
|
|
|
|
for(j=1;j<=d4num_fields(data_file);j++)
|
|
printf("%s "
|
|
,f4memo_str(d4field_j(data_file,j)));
|
|
|
|
printf("\n");
|
|
}
|
|
|
|
void query(DATA4 *data_file
|
|
,char *expr
|
|
,char *order)
|
|
{
|
|
RELATE4 *relation = NULL;
|
|
int rc;
|
|
|
|
relation = relate4init(data_file);
|
|
if(relation == NULL) exit(1);
|
|
|
|
|
|
relate4query_set(relation,expr);
|
|
relate4sort_set(relation,order);
|
|
|
|
|
|
for(rc = relate4top(relation);rc != r4eof
|
|
;rc = relate4skip(relation,1L))
|
|
print_record(data_file);
|
|
|
|
printf("\n");
|
|
|
|
relate4unlock(relation);
|
|
relate4free(relation,0);
|
|
|
|
}
|
|
|
|
void main()
|
|
{
|
|
int rc,num_fields,j;
|
|
|
|
d4init(&code_base);
|
|
open_data_files();
|
|
|
|
query(student
|
|
,"AGE > 30"
|
|
,"");
|
|
|
|
query(student
|
|
,"UPPER(L_NAME) = 'MILLER'"
|
|
,"L_NAME + F_NAME");
|
|
|
|
d4close_all(&code_base);
|
|
d4init_undo(&code_base);
|
|
mem4reset() ;
|
|
exit(0) ;
|
|
}
|