Skip to content

Instantly share code, notes, and snippets.

@bert
Created December 19, 2009 16:57
Show Gist options
  • Save bert/260145 to your computer and use it in GitHub Desktop.
Save bert/260145 to your computer and use it in GitHub Desktop.
MySQL text entry example
/*!
* \file mysql_text_entry.c
* \brief
*/
#include <gtk/gtk.h>
#include <glib.h>
#include <stdio.h>
#include <mysql/mysql.h>
#include <string.h>
char *p;
char *q;
MYSQL mysql;
GtkWidget *entry1;
GtkWidget *entry2;
GtkWidget *box1;
GtkWidget *window;
GtkWidget *button;
GtkWidget *combo;
gint
destroyapp (GtkWidget *widget, gpointer gdata)
{
gtk_main_quit ();
return (FALSE);
}
doSQL (MYSQL *conn,char *command)
{
printf ("%s\n", command);
mysql_query (conn, command);
printf ("result: %s\n", mysql_error (conn));
}
a()
{
MYSQL *conn;
conn = mysql_init (NULL);
if (mysql_real_connect (conn, "localhost", NULL, NULL, "mysql", 0, NULL, 0))
{
printf ("connection made\n");
// g_object_get (entry1, "text", &p, NULL);
p = gtk_entry_get_text (entry1);
// g_object_get (combo, "text", &q);
q = gtk_combo_box_get_active_text (combo);
printf ("%s \n", q);
char *sql = g_strdup_printf ("INSERT INTO sample(no,name)VALUES('%s','%s')", p, q);
doSQL (conn, sql);
g_free (sql);
}
}
int
main (int argc, char *argv[])
{
const gchar *value;
gint pos = 0;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
box1 = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
button = gtk_button_new_with_label (" Insert ");
gtk_signal_connect (GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC (destroyapp), NULL);
gtk_signal_connect (GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC (a), NULL);
gtk_box_pack_start (GTK_BOX (box1), button, TRUE, TRUE, 0);
entry1 = gtk_entry_new_with_max_length (50);
gtk_box_pack_start (GTK_BOX (box1), entry1, TRUE, TRUE, 0);
gtk_widget_show (entry1);
combo = gtk_combo_box_new_text ();
gtk_combo_box_append_text (GTK_COMBO (combo), "Banana")
gtk_combo_box_append_text (GTK_COMBO (combo), "Orange")
gtk_combo_box_append_text (GTK_COMBO (combo), "Peach")
gtk_combo_box_append_text (GTK_COMBO (combo), "Strawberry")
gtk_box_pack_start (GTK_BOX (box1), combo, TRUE, TRUE, 0);
gtk_widget_show (combo);
gtk_container_border_width (GTK_CONTAINER_Window), 15);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
return 0;
}
/* EOF */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment