Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2012, 07:18
ci2000
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 10 meses
Puntos: 3
Pasar el nombre de la tabla cómo parámetro

Hola.

Hice un formulario para poder editar el contenido de una tabla.

Me interesa lograr que este formulario sirva para editar cualquier tabla. Mi idea es pasar el nombre de la tabla en una variable "NombreTabla" y de esta manera lo soluciono.

Mi problema es que la orden SQL está en la sección de declaración de variables y por lo tanto el valor que le paso a la variable NombreTabla en la cadena SQL concatena Nothing.

Para llamar al formulario hago así:

Código:
        frmTablas.NombreTabla = "clasificacion"
        frmTablas.Text = "Mantenimiento de Clasificaciones"
        frmTablas.Show()
El código del formulario es:
Código:
    Public NombreTabla As String

    Dim Tabla As New DataTable
    Dim Adaptador As New MySqlDataAdapter("SELECT * FROM " & NombreTabla & " ORDER BY nombre", Conexion)
    Dim ComandosBasicos As New MySqlCommandBuilder(Adaptador)

    Private Sub frmTablas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Adaptador.FillSchema(Tabla, SchemaType.Mapped)
        Adaptador.Fill(Tabla)
        dgvTablas.DataSource = Tabla

        dgvTablas.Columns.Item(0).Visible = False
    End Sub

    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click
        Me.Close()
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        If dgvTablas.Rows.Count > 0 Then
            Adaptador.Update(CType(dgvTablas.DataSource, DataTable))
        Else
            MessageBox.Show("No hay informacion para guardar")
        End If
    End Sub
End Class
Desde ya muchas gracias por las respuestas.
Saludos