r15106 - gnucash/branches/gda-dev/src/backend/gda - Use string GdaDataHandler to convert strings to SQL correctly.

Phil Longstaff plongstaff at cvs.gnucash.org
Fri Nov 10 15:31:02 EST 2006


Author: plongstaff
Date: 2006-11-10 15:31:02 -0500 (Fri, 10 Nov 2006)
New Revision: 15106
Trac: http://svn.gnucash.org/trac/changeset/15106

Modified:
   gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c
Log:
Use string GdaDataHandler to convert strings to SQL correctly.



Modified: gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c
===================================================================
--- gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c	2006-11-10 19:58:15 UTC (rev 15105)
+++ gnucash/branches/gda-dev/src/backend/gda/gnc-backend-gda.c	2006-11-10 20:31:02 UTC (rev 15106)
@@ -123,8 +123,12 @@
 	const gchar* col_name = "";
 	const gchar* equals = "";
 	QofAccessFunc getter;
-	const gchar* s;
+	gchar* s;
+	GdaDataHandler* pHandler = gda_handler_string_new();
+	GValue value;
 
+	memset( &value, 0, sizeof( value ) );
+
 	if( include_name ) {
 		col_name = table_row->col_name;
 		equals = "=";
@@ -132,12 +136,16 @@
 	if( table_row->param_name != NULL ) {
 		getter = qof_class_get_parameter_getter( obj_name,
 												table_row->param_name );
-		s = (*getter)( pObject, NULL );
+		s = (gchar*)(*getter)( pObject, NULL );
 	} else {
-		s = (*table_row->getter)( pObject );
+		s = (gchar*)(*table_row->getter)( pObject );
 	}
 	if( s ) {
-		buf = g_strdup_printf( "%s%s'%s'", col_name, equals, s );
+		g_value_init( &value, G_TYPE_STRING );
+		g_value_set_string( &value, s );
+		s = gda_data_handler_get_sql_from_value( pHandler, &value );
+		buf = g_strdup_printf( "%s%s%s", col_name, equals, s );
+		g_free( s );
 	} else {
 		buf = g_strdup_printf( "%s%sNULL", col_name, equals );
 	}



More information about the gnucash-changes mailing list