Visual Basic.NET - DATASET Y SQL 2008 EN VB NET

 
Vista:

DATASET Y SQL 2008 EN VB NET

Publicado por Jorge Ferreira (4 intervenciones) el 11/01/2012 18:02:29
Hola, me estoy iniciando en vb net y tengo el siguiente problema.

En un formulario tengo un botón que hace una consulta a una base sql y el contenido lo muestro en un datagriew a través de un dataset. Consigo mostrarlo la primera vez, pero a la segunda vez que le doy al botón me salta la siguiente excepción.

"El nombre de variable '@rpm' ya se ha declarado. Los nombres de variable deben ser únicos en cada lote de consultas o procedimiento almacenado."

El código que tengo es el siguiente:

Dim conexion As New SqlClient.SqlConnection("Data Source=AIN0010C;Initial Catalog=SQLCentroControl;Integrated Security=True")

Dim comando As New SqlCommand("Select Id_Central, Fecha, Rpm from ChRiofrio where Rpm > @rpm", conexion)

Dim ds As DataSet
Dim da As SqlDataAdapter

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conexion.Open()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

comando.CommandType = CommandType.Text
comando.Parameters.Add("@rpm", SqlDbType.Float).Value = CSng(TextBox1.Text)
da = New SqlDataAdapter(comando)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0).DefaultView

End Sub

Alguien me podría decir que es lo que hago mal.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

DATASET Y SQL 2008 EN VB NET

Publicado por Damian (824 intervenciones) el 13/01/2012 14:10:33
Puede ser que el error lo tengas en la declaración del SqlCommand, porque le tiras la consulta en la declaración cuando debería estar en el evento click de tu botón.

1
2
3
4
5
6
7
8
9
10
Dim comando As New SqlCommand
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 SQL = "Select Id_Central, Fecha, Rpm from ChRiofrio where Rpm > @rpm"
 
                comando = New SqlCommand(SQL, conexion)
....
....
 
End Sub
Verifica si con eso se te soluciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DATASET Y SQL 2008 EN VB NET

Publicado por Jorge Rivera (7 intervenciones) el 15/01/2012 00:12:16
Prueba cerrando la conexion al final es todo lo que se me ocurre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar