If you want you can try the libgda and libgnomedb, in www.gnome-db.org, wich is a set of providers that allow you to connect, get, edit and show data from diferent database servers like MySQL, PostgreSQL, Oracle, MS SQL Server, etc.
2006/3/18, rupert <[EMAIL PROTECTED]>: > > Hello, > > im trying to create an application that uses a mysql database to get its > information, > first a treeview is created from the information stored in one column, > than > when I select a row some more information should be displayed > as GTK Labels and a picture is shown for each row. > I have the whole thing working, with a simple treeview generated from data > stored in a textfile. > > How should I handle the database connection, i thought i can get the whole > data once and put it into different varibles, > but i havent found a way to extract the data from the rows. > right now im trying to give the select Title to my label display function > and do a query with "Select Info FROM table WHERE Title = "title"", > but i always get Segmentation faults as soon as i try to use a WHERE or > something else in may query. > In the top of my main() i have the connection and i just give the *my to > the > functions where the queries are defined. > > Please give me some tips how I can solve this problem the best way, I > think > having a global structe which i can access via if() or something would be > better than doing a SELECT everytime i need some information. > > > > //__________Datenbank___________________________________________________________________ > > MYSQL *my; > > my = mysql_init(NULL); > > if(my == NULL) { > > fprintf(stderr, " Initialisierung fehlgeschlagen\n"); > return EXIT_SUCCESS; > } > /* Mit dem Server verbinden */ > if( mysql_real_connect (my, NULL, "root", NULL, "shdf", 0, NULL, 0) == > NULL) > { > fprintf (stderr, "Fehler mysql_real_connect():" > "%u (%s)\n",mysql_errno (my), mysql_error (my)); > } > else > printf("Erfolgreich mit dem MySQL-Server verbunden\n"); > > /* Hier befindet sich der Code für die Arbeit mit MySQL */ > mysql_select_db(my, "shdf"); > > //_____________________________________________________________________________ > > > //the function that fills the treeview list > > void make_list(GtkListStore *liste, GtkTreeIter iter, MYSQL *my){ > > MYSQL_ROW row; > MYSQL_RES *result; > MYSQL_FIELD *field; > > gint i=0; > > char *query; > query = "SELECT Title FROM table WHERE nr < 107" ; > > mysql_real_query(my, query, strlen(query)); > result = mysql_store_result(my); > > while ((row = mysql_fetch_row (result)) != NULL) > { > mysql_field_seek (result, 0); > > for (i = 0; i < mysql_num_fields(result); i++) > { > gtk_list_store_append(liste, &iter); > gtk_list_store_set(liste, &iter, STRING_SPALTE, row[i],-1); > } > > } > > free(query); > > greetings > _______________________________________________ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list > -- Trabajar, la mejor arma para tu superación "de grano en grano, se hace la arena" (R) (entrámite, pero para los cuates: LIBRE) _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list