En este mini-post quiero presentar la forma en que podemos ejecutar una sentecia SQL la cual permita poblar un DataTable recuperando los datos de una base de datos en SQL Server , todo  desde .NET

C#

string _ConnectionString = @"Data Source=NombreServidorDB;
                                 Initial Catalog=NombreBaseDatos;
                                 Persist Security Info=True;
                                 User ID=XXXX;Password=XXXX";
    string SelectAllTablePerson = @"SELECT PrimerNombre, SegundoNombre
                                    FROM Persona
                                    WHERE FechaNacimiento >= @FechaNacimiento";
    public DataTable ObtenerPersona(DateTime fechaNacimiento)
    {
        DataTable dt = new DataTable();
        //Inicializa la conexión a la base de datos
        using (SqlConnection connection = new SqlConnection(_ConnectionString))
        {
            //Inicializa el comando que se va a ejecutar
            using (SqlCommand cmd = new SqlCommand(SelectAllTablePerson, connection))
            {
                //Se agregan los parámetros
                cmd.Parameters.AddWithValue("@FechaNacimiento", fechaNacimiento);
                using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                {
                    try
                    {
                        //Se abre la conexión
                        cmd.Connection.Open();
                        //Se cargan los datos en el DataTable
                        da.Fill(dt);
                    }
                    catch (SqlException sqlEx)
                    {
                        string error = sqlEx.Message;
                        throw;
                    }
                }
            }
        } return dt;
    }

VB

  Dim _ConnectionString As String = "Data Source=NombreServidorDB;" &
                                    "Initial Catalog=NombreBaseDatos;" &
									"Persist Security Info=True;" &
									"User ID=XXXX;Password=XXXX"
  Dim _SelectTable As String = "SELECT PrimerNombre, SegundoNombre" &
                               "FROM Persona" &
							   "WHERE FechaNacimiento >= @FechaNacimiento"
  Private Function ObtenerPersonas() As DataTable
	Dim dt As New DataTable()
	''Se inicializa la conexión
		Using connection As New SqlConnection(_ConnectionString)
		''Se inicializa comando que va a recuperar los datos
			Using cmd As New SqlCommand(_SelectTable, connection)
			 ''Se inicializa el objeto adapter
				Using da As New SqlDataAdapter(cmd)
					Try
						''Abrimos la conexión
						cmd.Connection.Open()
						''Se cargan los datos en el DataTable
						da.Fill(dt)
						Catch ex As SqlException
							''Acá es posible capturar los errores si existen
							Dim errores As String = ex.Message
                                                        Throw ex
						End Try
				 End Using
			End Using
	    End Using
	Return dt
  End Function
Anuncios