martes, 20 de abril de 2010

Conectar a Base de datos Mysql 2

Segunda parte de Conectar a Base de datos Mysql

En esta parte veremos mas que nada como ejecutar sentencias SQL y mostrar los resultados.

Ejemplo 1

Aquí aparece las sentencias SQL que deben pegar en Mysql para crear la base de dato “prueba” crear la tabla “gambas” y insertar los datos a la base de datos.


create database prueba;
use prueba;
create table gambas(id int auto_increment primary key,componente varchar(50));
insert into gambas(componente) value('gb');
insert into gambas(componente) value('gb.debug');
insert into gambas(componente) value('gb.eval');
insert into gambas(componente) value('gb.info');
insert into gambas(componente) value('gb.option');
insert into gambas(componente) value('gb.pcre');
insert into gambas(componente) value('gb.settings');
insert into gambas(componente) value('gb.vb');
insert into gambas(componente) value('gb.corba');
insert into gambas(componente) value('gb.net');
insert into gambas(componente) value('gb.net.curl');
insert into gambas(componente) value('gb.net.smtp');
insert into gambas(componente) value('gb.web');
insert into gambas(componente) value('gb.form');
insert into gambas(componente) value('gb.form.dialog');
insert into gambas(componente) value('gb.form.mdi');
insert into gambas(componente) value('gb.gtk');
insert into gambas(componente) value('gb.gtk.ext');
insert into gambas(componente) value('gb.gtk.svg');
insert into gambas(componente) value('gb.gui');
insert into gambas(componente) value('gb.pdf');
insert into gambas(componente) value('gb.qt');
insert into gambas(componente) value('gb.qt.ext');


Segundo creamos un formulario con el componente gb.db para conectarnos con la base de datos creamos un button y un listBox quedando un formulario parecido a este

Free Image Hosting at www.ImageShack.us

En el Button en el evento click escribirnos los siguientes códigos

PUBLIC SUB Button1_Click()
DIM cn AS NEW Connection 'Declaramos una nueva conexión
DIM res AS Result 'Declaramos una variable result para el resultado de la sentencia SQL
DIM i AS Integer 'Declaramos i para el bucle For
cn.Type = "mysql" 'Escogemos el tipo de base de datos
cn.Host = "localhost" 'El Host, ip, dominio del servidor de Base de Datos
cn.User = "root" 'El nombre del usuario de la base de datos
cn.Password = "josechen" 'La contraseña del usuario de la base de datos
cn.Name = "prueba" 'Nombre de la base de dato que utilizaremos
cn.Open() 'Abrimos la conexión
'Ejecutamos la sentencia SQL para que retorne los datos de base de datos y la guardaremos en la variable res. Esta contendrá todos los resultados de la sentencia SQL
res = cn.Exec("select * from gambas")
'Ciclo for para imprimir los datos de la variable res que guarda los datos de la base de datos
FOR i = 0 TO (res.Count – 1)
'Agregamos el primer dato al ListBox1
ListBox1.Add(res!componente)
'Nos movemos a la siguiente fila
res.MoveNext
'Esto se repetirá varias veces hasta que el ciclo llegue al fin
NEXT 'Cuando el ciclo for llegue al fin
cn.Close() 'Cerramos la conexión
END

Ejemplo 2
En este ejemplo veremos como agregar un nuevo dato a la base de datos que estamos usando.
Insertar un nuevo componente el formulario debe tener:
- Label1
Se le deben cambiar la propiedad Text a "Nombre del Componente:"
- TextBox1
Se le debe borrar el contenido de la propiedad Text
- Button1
Solo se le debe cambiar la propiedad Text a "Agregar"

En el Button1 en el evento click se debe escribir el siguiente código

PUBLIC SUB Button1_Click()
DIM cn AS NEW Connection
cn.Type = "mysql"
cn.Host = "localhost"
cn.User = "root"
cn.Password = "josechen"
cn.Name = "prueba"
cn.Open()
'Se ejecuta la sentencia sql para insertar el dato del Textbox1
cn.Exec("insert into gambas(componente) value(&1)", TextBox1.Text)
cn.Close()
Message.Info("El Componente fue agregado correctamente")
END

Aquí dejo los ejemplos ya creados
Descargar Ejemplos

Lo mas importante para comunicarse con la base de dato son las sentencias SQL ya que si aprendes el lenguaje SQL podrás manipular los datos correctamente. En google si buscas aparecerán manuales que contienen sentencias SQL.

6 comentarios:

Anónimo dijo...

Hola!
Me gustaría saber como utilizo "update" en gambas?

Para actualizar datos en la base de datos!

Anónimo dijo...

Como se puede hacer para agregar el contenido de mas de un textbox y combobox???

Jose Gregorio dijo...

buenos días hermano como esta te felicito por favor me podrías ayudar tengo gambas2 2.8 y como le agrego imágenes al reporte con db.report por favor

Anónimo dijo...

Hola, soy un principiante en gambas 2.0. He trabajado hace unos años en Visual Basic y estoy intentando retomar el hobby de programar. Tengo problemas con bases de datos. He seguido tu ejemplo
DIM cn AS NEW Connection 'Declaración de variable cn como una nueva conexión
DIM table AS Table 'Declaramos table como una tabla
cn.Type = "mysql" 'Tipo de Conexión
cn.Host = "localhost" 'Host de la Conexión
cn.User = "root" 'Usuario
cn.Port = 3306
cn.user = "root"
cn.Password = "josechen" 'contraseña
cn.Name = "usuarios" 'Nombre de la Base de Dato
cn.Open() 'Abro la conexión
y cuando oprimo el botón me apare del mensaje
"cannot open database. Can.t connect to local MySQL server to socket /var/run/mysqld/mysqld.sock/(2)
Alguna idea como para orientarme?
Un abrazo
Alfredo Rigalli
Laboratorio de biología ósea
www.biologiaosea.com.ar

bestnick dijo...

enlace roto megaupload sera que lo puedes subir a otro servidor funcional para ver el ejemplo...?

valonamacdermott dijo...

888 Casino - DrmCD
888 강릉 출장샵 Casino. Drm. 익산 출장마사지 Avis Casino. 888 Casino. Address: 777 Main 이천 출장안마 St, Suite 남원 출장마사지 7, 888, OK. Phone: 세종특별자치 출장안마 (808) 527-8600. Website: 888.casino.com.

Publicar un comentario