Professional Documents
Culture Documents
¿Cómo obtener con Visual Basic .NET las tablas de una base de
datos en SQL Server y sus estructuras?
Realizar esta tarea con Visual Basic .NET 2008 es realmente sencillo y nada fuera de lo
común. Lo primero que debemos hacer (para seguir el ejemplo) es crear un formulario
con una apariencia similar a la siguiente:
txtServidor
txtUsuario
txtContrasena
txtBD
Dos botones (uno para conectar al servidor y otro para cerrar la aplicación):
btnConectar
btnCerrar
Kubical ORG Software Studio Teléfono: (+506) 2417-1912 Sitio web: www.kubicalorg.net
Página 2 de 4
Finalmente, un ListView que se utilizará para mostrar la estructura de una tabla cuando
sea seleccionada. El ListView debe contener las siguientes columnas:
Columna
Tipo
Longitud
Nulos
Ahora únicamente nos falta comenzar a agregar código para ver en funcionamiento la
nueva aplicación (se debe importar System.Data.SqlClient).
Botón btnConectar:
Kubical ORG Software Studio Teléfono: (+506) 2417-1912 Sitio web: www.kubicalorg.net
Página 3 de 4
MessageBoxIcon.Error)
Me.txtBD.Clear() : Me.txtBD.Focus()
End If
End If
End Sub
Procedimiento psMostrar_Tablas:
conConexion.Open()
drTablas = coSQL.ExecuteReader
While drTablas.Read
Me.lstTablas.Items.Add(drTablas("TABLE_NAME"))
End While
drTablas.Close()
conConexion.Close()
If Me.lstTablas.Items.Count > 0 Then Me.lstTablas.SelectedIndex = 0
Catch ex As Exception
MessageBox.Show(ex.Message, _
“Mensaje”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Procedimiento psEstructura_Tabla:
conConexion.Open()
drColumnas = coSQL.ExecuteReader
While drColumnas.Read
With Me.lvEstructura
.Items.Add(drColumnas("COLUMN_NAME"))
.Items(.Items.Count - 1).SubItems.Add(drColumnas("DATA_TYPE"))
If Not Convert.IsDBNull(drColumnas("CHARACTER_MAXIMUM_LENGTH")) Then
.Items(.Items.Count -
1).SubItems.Add(drColumnas("CHARACTER_MAXIMUM_LENGTH"))
Else
.Items(.Items.Count - 1).SubItems.Add("")
End If
.Items(.Items.Count - 1).SubItems.Add(drColumnas("IS_NULLABLE"))
End With
Kubical ORG Software Studio Teléfono: (+506) 2417-1912 Sitio web: www.kubicalorg.net
Página 4 de 4
End While
drColumnas.Close()
conConexion.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, _
“Mensaje”, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Este ejemplo puede funcionar con MySQL, únicamente se debe instalar el driver para
conectar al servidor (MySQLDriverCS) y realizar cambios mínimos.
Kubical ORG Software Studio Teléfono: (+506) 2417-1912 Sitio web: www.kubicalorg.net