martes, 20 de abril de 2010

Conectar a Base de datos Mysql

Conectar a Base de datos Mysql

En gambas se puede conectar con distintas bases de datos como lo son: PostgreSQL, Mysql, SQLite 2, SQLite 3, ODBC, Firebird.

En este pequeño manual veremos como conectar a una base de datos mysql, como hacer consultas, como mostrar el resultado de las consultas.

Para conectarte a la base de datos debes utilizar el componente “gb.db” lo puedes encontrar en el menú “Proyecto” Luego Buscas “Propiedades” aparecerá una ventana en la parte de arriba aparecerá “Componentes” y buscas el componente “gb.db” y le das “Aceptar”.

También lo puede agregar cuando estas creando el proyecto aparecerá un cuadro que dice opciones y seleccionas “acceso a bases de datos” .

Ahora comenzaremos a conectarnos con la base de datos

DIM cn AS NEW Connection 'Declaración de la variable “cn” para una nueva conexión

cn.Type = "mysql" 'Tipo de conexión Base de Datos

cn.Host = "localhost" 'Dirección , Dominio o ip de donde se encuentra instalada la Base de Datos

cn.Port = "3306" 'Puerto Conexión de la base de datos
'Por defecto mysql utiliza el puerto 3306, pero no es necesario especificar el puerto si se utiliza el puerto por defecto “3306”. Si el puerto es cambiado se debe especificar el puerto de la conexión.

cn.User = "root" 'Usuario de la Base de datos

cn.Password = "josechen" 'La contraseña del usuario de la base de datos

cn.Name = "usuarios" 'Nombre de la base de datos que se usara

cn.Open() 'Abre la conexión de la base de datos

Otras propiedades importantes son:

Databases
Esta contiene 1 propiedad y 4 métodos opciones
- Add “Crea una nueva Base de Datos”
Connection.Databases.Add(“Prueba”)

- Count “Retorna el valor de bases de datos que existen”

- Exist “Retorna True o False si existe la Base de Datos
Connection.Databases.Exist(“prueba”)

- Refresh “Refresca la Base de datos”

- Remove “Remueve, Elimina, Dropear la base de datos”
Connection.Databases .Remove(“prueba”)

Tables
Contiene 1 propiedad y 4 métodos que son:
- Add “Agrega una nueva tabla”

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.Password = "josechen" 'contraseña
cn.Name = "usuarios" 'Nombre de la Base de Dato
cn.Open() 'Abro la conexión
table = cn.Tables.Add("prueba") 'Se Crea una nueva tabla
table.Fields.Add("nombre", db.String) 'Se Agregan los Argumentos
table.Fields.Add("edad", db.Integer)
table.Update() 'Se Actualiza
cn.Close() ' Se cierra la conexión

- Count
Retorna el valor de números de tablas que existen en la base de datos

- Exist
Devuelve true si existe la tabla
Connection.Tables.Exist(“prueba”)

- Refresh
Refresca la Tablas

- Remove
Elimina una tabla
Connection.Tables.Remove("prueba")

Users
Contiene 1 Propiedad y 4 Métodos
- Add
Agrega un nuevo usuario a la base de datos
Connection.Users.Add(“usuario”,”contraseña”,Admin as Bolean “true o false”)
Connection.Users.Add(“Jose”,”123456”,true)

- Count
Retorna el numero de usuarios que tiene la base de datos

- Exist
Retorna true si el usuario existe
Connection.Users.Exist(“root”)

- Refresh
Refresca la tabla de usuarios

- Remove
Remueve un usuario de la base de datos
Connection.Users.Remove(“usuario”)
En lo personal me mando un error y cerro el programa uso gambas 2.20

Version
Retorna la versión de Mysql

Algunas de sus métodos mas importantes son:

Open()
Abre la conexión

Close()
Cierra la Conexión

Exec()
Ejecuta una sentencia SQL
result = Coneccion.Exec(“select * from tabla”)

Find()
Busca dentro de una tabla datos específicos
Ejemplo
result = Coneccion.Find("tabla", "nombre_columna = &1", "dato_a_buscar")
Message.Info(result.Count) 'Imprime cuantos resultados enconto

Limit()
Limita el números de filas a mostrar “Rows”
Coneccion.Limit(10) 'Solo Retornara 10 resultados

Ojo cuando ustedes hacen una consulta “Exec,Find,etc” deben declara una variable de tipo result para guardar los resultados de la consulta.

En este ejemplo se ejecuta la sentencia SQL en la base de dato y esta retorna los datos y son guardados en la variable res de tipo result, con el result podemos trabajar para imprimir todos los datos de que la base de datos nos genero al ejecutar la sentencia.

DIM res AS Result
res = cn.Exec("select * from gambas")
FOR i = 0 TO (res.Count - 1)
Message.Info(res!componente)
res.MoveNext
NEXT

Segunda parte de Conectar a Base de datos Mysql

3 comentarios:

Larry Suniaga dijo...

Esta muy buena la informacion

Anónimo dijo...

Muy interesante toda la informacion, continue brindando conocimientos a quien lo necesite....

Unknown dijo...

Muy buena la Información, muchas gracias

Publicar un comentario