Home | History | Annotate | Download | only in example
      1 /*
      2  * Copyright 2008 Google Inc.
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  * http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 #include <stddef.h>
     17 #include <stdio.h>
     18 #include <database.h>
     19 #ifdef _WIN32
     20 #define snprintf _snprintf
     21 #endif // _WIN32
     22 
     23 // Connect to the database containing customer information.
     24 DatabaseConnection* connect_to_customer_database() {
     25     return connect_to_database("customers.abcd.org", 321);
     26 }
     27 
     28 /* Find the ID of a customer by his/her name returning a value > 0 if
     29  * successful, 0 otherwise. */
     30 unsigned int get_customer_id_by_name(
     31         DatabaseConnection * const connection,
     32         const char * const customer_name) {
     33     char query_string[256];
     34     int number_of_results;
     35     void **results;
     36     snprintf(query_string, sizeof(query_string),
     37              "SELECT ID FROM CUSTOMERS WHERE NAME = %s", customer_name);
     38     number_of_results = connection->query_database(connection, query_string,
     39                                                    &results);
     40     if (number_of_results != 1) {
     41         return -1;
     42     }
     43     return (unsigned int)results[0];
     44 }
     45