Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2014, 12:48
Cristo_
 
Fecha de Ingreso: octubre-2008
Mensajes: 61
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Recuperar una consulta de SQL en un DataSet en Windows Froms VB.Net (Solución)

Muy buenas tengan todos, este post lo escribo debido a que quiero devolver algo a esta comunidad que tanto me ha ayudado, por lo cual poco a poco iré publicando poco a poco funciones que he acumulado con los años y me han resultado muy útiles para mis desarrollos, ahorrandome de paso repetir muchas líneas de código y tiempo.

Habrá a algunos que les parecerá muy simple mi aporte, pero estoy seguro de que habrá otros que les será de mucha utilidad, si tienen mejoras, son bienvenidas. saludos a todos.

Para que esto les funcione requeriran de importar las siguientes librerías colocando el siguiente código en la primer linea de código de su formulario

Código vb:
Ver original
  1. Imports System.Data.SqlClient

y luego la función donde quieran llamarla

Código vb:
Ver original
  1. ''' <summary>
  2.    ''' Devuelve un DataSet que se llena con datos a partir de una consulta SQL , hacía un servidor SQL server
  3.    ''' </summary>
  4.    ''' <param name="Query">Consulta SQL con la cual se desea llenar el data SET</param>
  5.    ''' <param name="Conexion">Cadena de Conexión hacia la base de datos SQL</param>
  6.    ''' <param name="NumRegistros">Parámetro opcional por referencia de tipo Integer que permite conocer el número de registros que arrojó la consulta</param>
  7.  
  8.     Public Shared Function RecuperarDeSQL(ByVal Query As String, ByVal Conexion As String, Optional ByRef NumRegistros As Integer = 0) As DataSet
  9.         Dim Resultados As DataSet
  10.         Dim DA As SqlDataAdapter
  11.         Dim Con As SqlConnection
  12.         Try
  13.             Con = New SqlConnection(Conexion)
  14.             Con.Open()
  15.             DA = New SqlDataAdapter(Query, Con)
  16.             Resultados = New DataSet
  17.             DA.Fill(Resultados, "Resultado")
  18.             NumRegistros = Resultados.Tables(0).Rows.Count()
  19.             If NumRegistros = 0 Then
  20.                 Resultados.Tables.Add()
  21.                Return Resultados
  22.             End If
  23.             Return Resultados
  24.             Con.Close()
  25.             DA = Nothing
  26.             Con = Nothing
  27.         Catch ex As Exception
  28.             If SysAdminUsr Then
  29.                 Utilerias.MuestraError(ex.Message)
  30.             End If
  31.         End Try
  32.         Resultados = Nothing
  33.         Return Resultados
  34.     End Function

Al final pueden asignar el DataSet a cualquier lugar dónde lo requieran:
-Datagrids
-Combos
-List Box

incluso pueden solo cargarlo en memoria para realizar la consulta de registros de la base de datos.

Bien eso es todo por ahora, espero les sirva.

Saludos