Posteado por: jjmoncar | Diciembre 19, 2007

Conectarse a MySql y Guardar Datos

En primer lugar debe asegurarse de tener instalado Mysql en su pc. Personalmente recomiendo tambien la instalacion de PhpMyadmin que es un programa para administrar y crear bases de datos con Mysql. Si desea mas informacion de como instalar un servidor LAPM (Linux Apache Php Mysql), este link lo puede ayudar.

Ok instalado Mysql en su equipo, podemos crear nuestra base de datos bien sea por phpmyadmin o usando el gestor de base de datos que trae Gambas, el cual se accede en: Herramientas -> Gestor de base de Datos…

Al principio te pide una contraseña para encriptarla, esto para hacer mas segura tu BD. Luego puedes crear la BD y sus tablas de forma muy sencilla e intuitiva.

UN EJEMPLO.

Nada mejor que un ejemplo para ilustrar como se hace para conectar la BD creada y nuestro formulario.

Formulario: En este ejemplo, el formulario se encarga de agregar informacion sobre unos productos a nuestra BD. El aspecto es el siguiente:

pantalla productos

Codigo: El codigo, un poco extenso, es el siguiente:

‘ Gambas class file
‘estas son las variables de conexion a la base de datos
PUBLIC cn AS NEW Connection
PUBLIC rs AS Result
‘variables booleanas para evaluacion de expresiones
PUBLIC valor AS Boolean
PUBLIC valor1 AS Boolean
PUBLIC valor2 AS Boolean

PUBLIC SUB BtnCerrar_Click()

ME.Hide

END

PUBLIC SUB Form_Open()
‘este evento permite crear la conexion a la base de datos
WITH cn
.type = “mysql”
.host = “localhost”
.login = “root”
.password = “102172″
.name = “cibercafe”

TRY .OPEN
IF ERROR THEN
Message.Error(“Error abriendo la base de datos!!!\n” & Error.Text)
ME.Close
ELSE
’se selecciona los campos de la tabla que contiene la BD
rs = cn.Exec(“SELECT * FROM productos”)
rs.MoveFirst
END IF
END WITH

END

PRIVATE SUB Evaluacion()

IF IsNumber(texto2.Text) THEN
valor = TRUE
ELSE
Message.Info(“el valor no es numerico\n” & “usted introdujo:\n” & texto2.Text)
valor = FALSE
END IF

IF IsNumber(texto3.Text) THEN
valor1 = TRUE
ELSE
Message.Info(“el valor no es numerico\n” & “usted introdujo:\n” & texto3.Text)
valor1 = FALSE
END IF

IF IsNumber(texto4.Text) THEN
valor2 = TRUE
ELSE
Message.Info(“el valor no es numerico\n” & “usted introdujo:\n” & texto4.Text)
valor2 = FALSE
END IF

END

PUBLIC SUB BtnGuardar_Click()
‘este es el evento que permite agregar los datos ingresados
‘mediante el formulario a la base de datos
DIM xresult AS Result
DIM xQuery AS String
DIM xParam AS Integer
Evaluacion()
IF valor = FALSE OR valor1 = FALSE OR valor2 = FALSE THEN
ClearField()
RETURN
END IF

xresult = cn.Create(“productos”)
xresult!tipo = UCase(Combo1.Text)
xresult!descripcion = Trim(UCase(texto1.Text))
xresult!precio = Val(Trim(texto2.Text))
xresult!stock = Val(Trim(texto3.Text))
xresult!precio_final = Val(Trim(texto4.Text))
xresult.Update
Message.Info(“Datos Guardados”)
IF ERROR THEN Message.Error(Error.Text)

rs = cn.Exec(“SELECT * FROM usuarios”)
rs.MoveFirst
ClearField()

END

PRIVATE SUB ClearField()

texto1.Text = “”
texto2.Text = “”
texto3.Text = “”
texto4.Text = “”
combo1.SetFocus

END

PUBLIC SUB BtnModificar_Click()

‘FrmOperadores.Hide
FrmModificaProducto.Show

END


Respuestas

  1. Hola, tu articulo me parece muy interesante, la verdad es que soy nuevo en linux y como no en programación, he intentado crear una base de datod pero no paso del gestor de base de datos de gambas, no hace mas que salir el siguente error.

    No es posible conectarse a al base de datos.

    Cannot open database: Access denied for user ‘ samuel’@'localhost’ (using password: Yes)

    Agradeceria cualquier tipo de ayuda.

  2. Hola estoy muy ageradecido por la ayuda, espero luego me ayudes con un programita de un ambulatorio, que es para mi tesis, Gracias.

  3. Una pregunta, al crear un formulario en dreamweaver no da las opciones para comunicar directamente conla base d e datos, lo digo por que los que no manejamos muy bien lo del codigo debemos tener una via mas directa..Gracias

  4. Si mal no recuerdo, cuando vas a crear un sitio web con dreamweaver, existe un asistente que te ayuda a la configuracion general del sitio asi como la base de datos que vas a utilizar. Lo hace automatico, al punto de hacerte sentir tonto. El asunto esta en que si te presenta problemas no sabras como resolverlo ya que los codigos son bastante enrredados. Saludos.

  5. Muy interesante, gracias por el artículo. Pero tengo una duda, que no sólo me pasa con gambas.

    Está claro que para conectar nuestro aplicativo a la Base de Datos necesitamos un nombre de usuario y contraseña. Mi pregunta es:
    ¿Cómo guardo el usuario y contraseña de manera segura?, es decir, que sea por ejemplo un archivo de texto que contiene los datos pero definitivamente no quiero que nadie pueda siquiera abrir el archivo, sólo mi programa.

    ya sabes, el dilema es que de vez en cuando y por cuestiones de seguridad uno cambia la contraseña del usuario que nos sirve para conectarnos a la Base de Datos, pero si guardamos ese dato en un archivo de texto que cualquiera pueda abrir con nano o gedit no tiene sentido.

    ¿Recomendaciones?

  6. yyeshua: mysql tiene unas instrucciones (comandos) que sirven para encriptar y desencriptar datos. muy util para el caso de las claves y contraseñas. consulta la ayuda de mysql para mas informacion.

    saludos.

  7. basuras, toda esta porqueria no es mas que una patraña, visual basic es un lenguaje de primera, unido con el .NET FRAMEWORK.

  8. Robert; me parece que no has utilizado este lenguaje, y mucho menos alguna version de GNU/Linux, por eso no puedes comprender su potencial y robustez. Yo era, hace ya bastante tiempo programador bajo visual basic, y te puedo decir que con gambas hago cosas que ni soñaba poder hacerlas con visual basic y el .net framework.
    Pero bueno, los que estamos del lado del software libre amamos la libertad. eres libre de publicar aqui tus comentarios, buenos o malos… tambien es tu eleccion continuar atado al software privativo, que maneja a sus usuarios como marionetas sin el mas minino pudor, solo por el mero interes comercial… lo siento por ti…

  9. bien dicho jjmoncar yo apenas inicio con gambas me he instalado el mysql server y el client tambien el mysql administrator el problema es q entro a gambas a herramientas- gestor de base de datos y no me aparece nada tengo la version 2.0.0 en ubuntu 8.04 que crees q pueda ser me faltara algun componente al inicio del proyecto le he indicado q trabajaria con bases de datos asi q no creo q sea el problema.

    gracias de antemano y felicidades por crear un sitio especial para gambas espero sigas escribiendo mas articulos

    saludos

  10. buenas noches m4st3rcr4y.
    Visita la pagina oficial de gambas, y de acuerdo a tu distribucion de linux, añade los repositorios necesarios en: /etc/apt/sources.list. luego actualiza con: aptitude update y luego aptitude safe-upgrade.
    esto para que te actualice de la version 2.0.0 a las 2.7.0

    estamos en contacto.

  11. hola! yo no se tanto de hecho apenas estoy empezando a introducirme en visual basic.net una pergunta en donde o que instrucccion abres la base de datos para guardar,…. como se hacia en el 6.0 o se abre automaticamente durante la conexion..

  12. hola : Fenix SCD.

    Lo primero que debes hacer es asegurarte de tener instalado mysql y phpmyadmin (para administrar mysql), una vez te tengas por lo minimo mysql podras administrar tu base de datos por el gestor que tiene gambas.
    Me parece que no lo tienes instalado por el error que te aparece.
    Lo de phpmyadmin te lo recomiendo porque a mi parecer es mas comodo. pero tu decides….

    saludos.

  13. hola prof. como estas? estoy creando un sistema y cuando hago la conexion a la base de datos me aparece unknown identifier: connection. q pued ser? espero su respuesta. hasta luego

  14. Saludos a todos, Yo tampoco puedo llamar la base de datos, me fui a sinapty para instalar mysql peor me aparece una lista inmensa y no se cual instlar, como veran soy nuevo en esto pero me interesa el lenguaje.
    Agradeceria la ayuda.

    • buen dia.
      escoje el paquete que dice mysql-client, y mysql-server

  15. hola este archivo es muy importante por lo menos para aquellos que estan empezando a utilizar este lenguaje el cual es de mucha utilidad para los nuevos en el area en la cual me incluyo yo

  16. Hola, estaba probando el gambas2 ya que he programado en VB6 y VB.NET, sin embargo hay algo que quiero señalar aqui y que me cuesta entender, abri un nuevo proyecto, agregue un control: textbox, label y button, en el evento click del control button tengo este codigo:

    ‘ testeando gambas2

    IF IsNumber(TextBox1.Text) THEN

    Label1.Text = TextBox1.Text *2

    ELSE

    Label1.Text = “Escriba solo numeros!”

    END IF

    El codigo deberia funcionar de hecho lo tienes asi en tu codigo, pero siempre retorna FALSE escribiendo una cadena o numeros en el TextBox, luego lo cambie a:

    IF IsNumber(Val(TextBox1.Text)) THEN
    ‘ resto codigo…………….

    Y asi me funciona bien el script agregandole Val() al IF

    saludos

  17. Excelente la divulgación de gambas en este bloc

  18. muy agradecido por el material, del cual has hecho los arreglos;pues, este me ha sido de mucha utilidad para despejar ciertas dudas en razon de las conexiones de programas a las bases de datos…Crey


Dejar una respuesta

Su respuesta:

Categorías