ASP - Query en asp

 
Vista:
sin imagen de perfil

Query en asp

Publicado por Laura (2 intervenciones) el 16/06/2023 11:00:51
Hola,estoy haciendo un tablon de notas con asp. Y tengo un problema que he intentado solucionar de mil maneras pero no encuentro la solución.

Si a la query le pongo el id de la toma a mano se muestra el gridview correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim b As String = nodoSel.Value
    Dim numero As String = b.Split("_"c)(0)
 
    Dim connectionString As String = " "
    Dim query As String = "SELECT id, id_toma, notas, fecha_nota FROM [notas] WHERE id_toma = 205"
 
    Using connection As New SqlConnection(connectionString)
        connection.Open()
 
        Using selectCommand As New SqlCommand(query, connection)
            selectCommand.Parameters.AddWithValue("@Numero", numero)
 
            Dim notasTable As New DataTable()
            notasTable.Load(selectCommand.ExecuteReader())
 
            If notasTable.Rows.Count > 0 Then
                GridViewNotas.DataSource = notasTable
                GridViewNotas.DataBind()
            End If
        End Using
    End Using
End Sub

Pero si a la query (que es como quiero hacerlo) le sustituyo el 205 por la variable Numero, el gridview desaparece. El modal sigue saliendo correctamente y me deja guardar las notas y todo. Es más, depurando me he dado cuenta que la tabla se sigue creando correctamente lo que pasa que no se muestra en la web.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Protected Sub CargarNotasGuardadas()
    Dim b As String = nodoSel.Value
    Dim numero As String = b.Split("_"c)(0)
 
    Dim connectionString As String = " "
    Dim query As String = "SELECT id, id_toma, notas, fecha_nota FROM [notas] WHERE id_toma = @Numero"
 
    Using connection As New SqlConnection(connectionString)
        connection.Open()
 
        Using selectCommand As New SqlCommand(query, connection)
            selectCommand.Parameters.AddWithValue("@Numero", numero)
 
            Dim notasTable As New DataTable()
            notasTable.Load(selectCommand.ExecuteReader())
 
            If notasTable.Rows.Count > 0 Then
                GridViewNotas.DataSource = notasTable
                GridViewNotas.DataBind()
            End If
        End Using
    End Using
End Sub

Esto es a mano:

dICgg
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
Imágen de perfil de Alejandro
Val: 34
Ha mantenido su posición en ASP (en relación al último mes)
Gráfica de ASP

Query en asp

Publicado por Alejandro (23 intervenciones) el 16/06/2023 17:04:53
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Solo se me ocurre que compruebes que valor tiene numero y pruebes el query que se genera en directamente en la consola.
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
sin imagen de perfil

Query en asp

Publicado por Laura (2 intervenciones) el 16/06/2023 17:48:34
Se genera todo bien pero no se muesra el gridView
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
Imágen de perfil de Medir

Query en asp

Publicado por Medir (2 intervenciones) el 19/06/2023 03:53:31
En el código proporcionado, parece que estás pasando correctamente el parámetro "@Numero" a la consulta SQL mediante el método AddWithValue. Sin embargo, hay un detalle importante que debes corregir para que funcione correctamente.

En lugar de usar el valor de la variable numero para asignar el parámetro, debes utilizar el valor de la variable Numero (con "N" en mayúscula) que pasaste como parámetro en el método CargarNotasGuardadas. ;)
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
Imágen de perfil de Medir

Query en asp

Publicado por Medir (2 intervenciones) el 19/06/2023 03:54:28
Asegúrate de que la variable Numero tenga el valor correcto cuando llames al método CargarNotasGuardadas, y la consulta debería ejecutarse correctamente y mostrar los datos en el GridView.
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