De database functies, fndb.c, zullen we slechts summier beschrijven. Naast de al genoemde functie FNDB_store(), nummer 10, zijn er een drietal functies, nummers 1,2 en 3, nodig die het formaat dat ABNAMRO gebruikt in zijn export bestand, omzetten naar een voor MySQL begrijpelijk formaat, en een zestal functie die zich bezig houden met het openen en sluiten van de MySQL database en het uitvoeren van de SQL-query.
De functies met de nummers 5, 6, 7, 8, en 9 komen grotendeels uit het uitstekende boek “MySQL“ van Paul Dubois [1]. Zoals de naam suggereert zorgen functie 5 & 6 voor het openen en sluiten van de database verbinding. Functie 9 dient voor het uitvoeren van een SQL-query, waarbij functie 7 gebruikt wordt om de resultaten te controleren. Functie 8 is specifieker, deze controleert of een bepaalde transactie al aanwezig is in de database, en retourneert een TRUE of FALSE afhankelijk van de aan/afwezigheid van de transactie.
Nr. | Functie naam, type en parameters (C-prototype) |
1 | void convert_bedrag(char *ptr); |
2 | void convert_date(char *out_ptr, char *in_ptr); |
3 | void convert_rekening(char *out_ptr, char *in_ptr); |
4 | void print_error(MYSQL *c_ptr, char *m_ptr); |
5 | MYSQL *do_connect(char *hn_ptr, char *un_ptr, char
*pwd_ptr, char *dbn_ptr, unsigned int pn, char *sn_ptr, unsigned int flags); |
6 | void do_disconnect(MYSQL *ptr); |
7 | int process_result_set(MYSQL *c_ptr, MYSQL_RES *res_ptr); |
8 | boolean check_existence(MYSQL *c_ptr, MYSQL_RES *res_ptr); |
9 | int process_query(MYSQL *c_ptr, char *q_ptr, boolean (*fct)(MYSQL *a, MYSQL_RES *b) ); |
10 | void FNDB_store(char *bedrag_ptr, /*Bedrag: 123,45
*/ char *datum_ptr, /*Datum: 20021231 */ char *rek_ptr, /*Rekeningnummer:123456789 */ char *omsch_ptr) /*Omschrijving: charstring */ |