Usuario
select from "parametro"

Pregunta
-
Hola necesito hacer una select para rellenar un datagrid pero resulta que el nombre de la tabla que tengo que extraer la informacion se encuentra en un combobox.
Osea yo necesitaria hacer algo asi:
SELECT * From "Combobox2.Text" ----> algo asi, pero me da error, alguien conoce como pasar como parametro el from?
Saludos
Todas las respuestas
-
la unica forma es armar la query en un string
string query = string.Format("SELECT * From {0}", Combobox2.Text);
ese query lo asignas al SqlCommand
Nota: recuerda mencionar en que lenguaje progrsmas y que base de datos usas
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
Dim query As String = String.Format("select Codigo,Nombre,Color,Talle,Tipo, count(*) Cantidad From {0}", ComboBox2.Text)
Dim cnM As New MySqlConnection("server=localhost;User Id=root;database=ventas_dap")
Try
Dim daM As New MySqlCommand(query, cnM)
Dim dsM As New DataSet
daM.Fill(dsM, "0")
With DataGridView1
.DataSource = dsM.Tables("0")
.Refresh()
End With
Catch ex As Exception
MsgBox(ex.Message.ToString)
Finally
If cnM.State = ConnectionState.Open Then
cnM.Close() ' cierra la conexión
End IfMe queda algo asi,pero me da error en "dAm.fill("0")"
Saludos
-
porque no usas un datatable, o sea
Try Dim query As String = String.Format("select Codigo,Nombre,Color,Talle,Tipo, count(*) Cantidad From {0}", ComboBox2.Text) Using cnM As New MySqlConnection("server=localhost;User Id=root;database=ventas_dap") Dim daM As New MySqlCommand(query, cnM) Dim dt As New DataTable daM.Fill( dt) DataGridView1.DataSource = dt End Using Catch ex As Exception MsgBox(ex.Message.ToString) End Try
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Eso funciona Leandro muchas gracias pero ahora pasar que me pasa un solo dato en mi datagrid siendo que son 183 aprox. y en la columna tipo me suma count.. MI sentencia final mysql deberia ser algo asi:
select codigo,nombre,color,talle,tipo, count(*) cantidad from
From {0}", ComboBox2.Text
group by codigo order by cantidad DESCComo podria acomodarla?
-
Try
Dim query As String = String.Format("Select Codigo,Nombre,Color,Talle,Tipo, count(*) Cantidad From {0}", ComboBox2.Text, " group by codigo order by cantidad DESC ")
Using cnM As New MySqlConnection("server=localhost;User Id=root;database=ventas_dap")
Dim daM As New MySqlDataAdapter(query, cnM)
Dim dt As New DataTable
daM.Fill(dt)
DataGridView1.DataSource = dt
End Using
Catch ex As Exception
MsgBox(ex.Message.ToString)
End TryMe devuelve una sola fila en el datagrid, cuando en realidad me deberia devolver todas las filas y sumar las cantidades de los codigos =, saludos
-
es que deberia ser
Dim query As String = String.Format("Select Codigo,Nombre,Color,Talle,Tipo, count(*) as Cantidad From {0} group by codigo, Nombre,Color,Talle,Tipo order by cantidad DESC", ComboBox2.Text)
Nota: recomendaria cuando tienes dudas de un metodo investigues en el msdn como se utiliza
Leandro Tuttini
Blog
Buenos Aires
Argentina