valuefmt.c

Go to the documentation of this file.
00001 #include <stdio.h>
00002 #include <string.h>
00003 #include "dbmi.h"
00004 
00011 int
00012 db_convert_Cstring_to_value (Cstring, sqltype, value)
00013     char *Cstring;
00014     int sqltype;
00015     dbValue *value;
00016 {
00017     int i;
00018     double d;
00019 
00020     switch (db_sqltype_to_Ctype(sqltype))
00021     {
00022     case DB_C_TYPE_STRING:
00023         return db_set_value_string(value, Cstring);
00024     case DB_C_TYPE_INT:
00025         i = 0;
00026         sscanf(Cstring, "%d", &i);
00027         db_set_value_int(value, i);
00028         break;
00029     case DB_C_TYPE_DOUBLE:
00030         d = 0.0;
00031         sscanf(Cstring, "%lf", &d);
00032         db_set_value_double(value, d);
00033         break;
00034     case DB_C_TYPE_DATETIME:
00035         return db_convert_Cstring_to_value_datetime (Cstring, sqltype, value);
00036     default:
00037         db_error("db_convert_Cstring_to_value(): unrecognized sqltype");
00038         return DB_FAILED;
00039     }
00040     return DB_OK;
00041 }
00042 
00049 int
00050 db_convert_value_to_string(value, sqltype, string)
00051     dbValue *value;
00052     int sqltype;
00053     dbString *string;
00054 {
00055     char buf[64];
00056     char *bp;
00057 
00058     bp = buf;
00059     if (db_test_value_isnull(value))
00060     {
00061         *buf = 0;
00062     }
00063     else
00064     {
00065         switch (db_sqltype_to_Ctype(sqltype))
00066         {
00067         case DB_C_TYPE_INT:
00068             sprintf (buf, "%d",db_get_value_int(value));
00069             break;
00070         case DB_C_TYPE_DOUBLE:
00071             sprintf (buf, "%lf",db_get_value_double(value));
00072             break;
00073         case DB_C_TYPE_STRING:
00074             bp = db_get_value_string(value);
00075             break;
00076         case DB_C_TYPE_DATETIME:
00077             return db_convert_value_datetime_into_string (value, sqltype, string);
00078         default:
00079             db_error ("db_convert_value_into_string(): unrecongized sqltype-type");
00080             return DB_FAILED;
00081         }
00082     }
00083     return db_set_string(string, bp);
00084 }

Generated on Wed Aug 23 17:48:32 2006 for GRASS by  doxygen 1.4.7