Visual Basic.NET - Comparar primera columna de datagridview con base de datos

 
Vista:
sin imagen de perfil

Comparar primera columna de datagridview con base de datos

Publicado por juan (1 intervención) el 05/09/2017 14:20:49
Hola amigos tengo un problema, lo que nesecito hacer es capturar el valor de la columna rut de un datagridview y hacer un select a una base de datos sql server con un where like 'rut' y el resultado de esa consulta me los valla agregando a otro datagridview, les dejo mi código, el problema es que no me entrega ningún resultado en el datagridview destino, les agradecería si me orientaran un poco ya que recién estoy comenzando, cualquier ayuda es bien recibida, muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Public Function existentes()
 
    Dim dtexistentes As New DataTable
    dtexistentes.Columns.AddRange(New DataColumn() {New DataColumn("Rut", GetType(String)),
                                                   New DataColumn("Nombres", GetType(String)),
                                                   New DataColumn("Apellidos", GetType(String)),
                                                   New DataColumn("Contratista", GetType(String)),
                                                   New DataColumn("Fecha", GetType(String))})
 
 
    dtexistentes.Columns(0).ColumnName = "RUT"
    dtexistentes.Columns(1).ColumnName = "NOMBRES"
    dtexistentes.Columns(2).ColumnName = "APELLIDOS"
    dtexistentes.Columns(3).ColumnName = "FECHA"
    dtexistentes.Columns(4).ColumnName = "CONTRATISTA"
    For i = 0 To DGVPrevios.DGV_captura.Rows.Count - 1
        Dim rutexistentes As String = Convert.ToString(DGVPrevios.DGV_captura.Rows(i).Cells(0).Value)
 
        Dim cmd As New SqlCommand
 
        Dim param As SqlParameter
 
        cmd.CommandText = "SELECT ASIST_RUT, ASIST_NOMBRES, ASIST_APELLIDOS, ASIST_CONTRATISTA, ASIST_FECHA FROM ASISTENCIA WHERE ASIST_RUT LIKE '@RUT';"
        cmd.CommandType = CommandType.Text
        cmd.Connection = ConexionAgricola
        ConexionAgricola.Open()
 
        param = New SqlParameter()
        param.ParameterName = “@RUT”
        param.SqlDbType = SqlDbType.VarChar
        param.Size = 15
        param.Value = rutexistentes
 
        cmd.Parameters.Add(param)
        cmd.ExecuteNonQuery()
 
        dt.Load(cmd.ExecuteReader)
 
        DGVPrevios.DGV_existentes.Rows.Add(dt)
        dt.Reset()
        ConexionAgricola.Close()
    Next
 
End Function
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 Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Comparar primera columna de datagridview con base de datos

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 05/09/2017 23:35:15
Podrías cambiar tu For, por un ForEach, mas o menos así:

Dim Rut as string
For Each row As DataGridViewRow In Dgv_Captura.Rows
Rut = row.Cells(0).Value.ToString()

Aquí puede llamar a tu consulta.

Otra cosa, en el Where de tu consulta solo pones el Where ASIST_RUT=@Rut ---No es necesario el like, ya que imagino que el Rut es único o no?.


Next

Saludos cordiales,
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