Foros del Web » Programación para mayores de 30 ;) » .NET »

Agregar y borrar usuarios de MySQL desde Visual Basic

Estas en el tema de Agregar y borrar usuarios de MySQL desde Visual Basic en el foro de .NET en Foros del Web. Hola a todos Llevo un par de dias atascado con Visual Basic y MySQL. Necesito hacer 2 operaciones desde Visual Basic que afectan a un ...
  #1 (permalink)  
Antiguo 08/03/2010, 12:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Agregar y borrar usuarios de MySQL desde Visual Basic

Hola a todos

Llevo un par de dias atascado con Visual Basic y MySQL.

Necesito hacer 2 operaciones desde Visual Basic que afectan a un tabla "usuarios" de MySQL.
Lo que necesito es que al introducir un usuario y contraseña en una ventana con 2 textbox y pulsar aceptar, esos valores se inserten en la tabla usuarios de MySQL. Y que al introducir un nombre de usuario en otra ventana con un textbox al pulsar aceptar, vaya a la tabla, busque al usuario y lo borre.

VB y la BBDD estan conectados y los campos de la tabla usuarios se muestran en la aplicacion sin ningun problema. Lo que no se es como agregar usuarios o borrarlos.

Os pongo el codigo que tengo escrito para la opcion AGREGAR y que, aunque esté mal, al menos no deberia de estar mal encaminado

Cita:
Imports System.Windows.Forms
Imports MySql.Data.MySqlClient

Public Class Agregar
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Dim Tabla As New DataTable 'se encarga de representar la tabla de datos en la memoria
Dim conexion As MySqlConnection 'gestiona la conexion a la Base de Datos
Dim Ds As New DataSet 'representa la memoria interna de los datos

conexion = New MySql.Data.MySqlClient.MySqlConnection
conexion.ConnectionString = "server=localhost; user=root; password=''; database=proyecto; port=80;"
conexion.Open()

Dim insertar As New MySqlDataAdapter("insert into usuarios(Nombre, Password) values('" & TextBox1.Text & "','" & TextBox2.Text & "')", conexion)
Dim Cmd As New MySqlCommandBuilder(insertar)

Try
insertar.Fill(Tabla)
'MessageBox.Show("Conexión Abierta Con Éxito")
'conexion.Close()
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
'conexion.Dispose()
End Try

Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub

Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
End Class
Me podeis ayudar? Espero haberme explicado bien.

Gracias de antemano!
  #2 (permalink)  
Antiguo 08/03/2010, 18:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Agregar y borrar usuarios de MySQL desde Visual Basic

Con esto creo que tienes un error de concepto:
Cita:
Try
insertar.Fill(Tabla)
MessageBox.Show("Conexión Abierta Con Éxito")
conexion.Close()
Catch mierror As MySqlException
MessageBox.Show("Error de Conexión a la Base de Datos: " & mierror.Message)
Finally
conexion.Dispose()
End Try
Una sentencia INSERT no llena una tabla de valores. Como mucho devuelve un único valor, que representa la cantidad de filas afectadas por su ejecución, por lo que usar un DataAdapter es absolutamente innecesario.
Por otro lado hay dos errores severos, también conceptuales.
1) El usuario root no es un usuario para usar en tareas menores. Es el usuario supremo o de nivel más profundo, y por tanto solamente debe ser usado para tareas administrativas críticas.
2) Si vas a administrar usuarios en una aplicación te conviene que se puedan certificar contra el DBMS directamente, esto es, que la conexión sea creada con esos usuarios, y no con otros, y con su propio password. Esto es por dos razones: Por un lado la encriptación de las claves a nivel DBMS son mejores que lo que tu puedas diseñar. En segundo lugar, evitas usar usuarios genéricos que puedan ser hackeados y usados sus privilegios en otras conexiones.
Para esto, lo úinco que necesitas es tener un usuario de tipo superior (no el root) que tenga permisos de crear usuarios, y que sea el encargado de dar acceso a los restantes usuarios.

Al menos eso sería manejar la administración de usuarios con más seguridad.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: basic, borrar, mysql, usuarios, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.