Crear un formulario Windows Forms para buscar datosCreate a Windows Form to search data

Un escenario habitual de la aplicación es mostrar los datos seleccionados en un formulario.A common application scenario is to display selected data on a form. Por ejemplo, puede que desee mostrar los pedidos de un cliente concreto o los detalles de un pedido específico.For example, you might want to display the orders for a specific customer or the details of a specific order. En este caso, un usuario escribe información en un formulario y, a continuación, se ejecuta una consulta con la entrada del usuario como parámetro; es decir, los datos se seleccionan basándose en una consulta parametrizada.In this scenario, a user enters information into a form, and then a query is executed with the user's input as a parameter; that is, the data is selected based on a parameterized query. La consulta devuelve sólo los datos que satisfacen los criterios escritos por el usuario.The query returns only the data that satisfies the criteria entered by the user. Este tutorial muestra cómo crear una consulta que devuelve los clientes de una ciudad específica y cómo modificar la interfaz de usuario para que los usuarios puedan escribir el nombre de una ciudad y presionar un botón para ejecutar la consulta.This walkthrough shows how to create a query that returns customers in a specific city, and modify the user interface so that users can enter a city's name and press a button to execute the query.

El uso de consultas parametrizadas ayuda a que la aplicación sea más eficaz, ya que permite a la base de datos realizar el trabajo que mejor sabe hacer: filtrar registros rápidamente.Using parameterized queries helps make your application efficient by letting the database do the work it is best at — quickly filtering records. En cambio, si solicita una tabla de base de datos completa, transferirla por la red y, a continuación, usar lógica de la aplicación para buscar los registros que desee, la aplicación puede tornarse más lenta e ineficaz.In contrast, if you request an entire database table, transfer it over the network, and then use application logic to find the records you want, your application can become slow and inefficient.

Puede agregar consultas parametrizadas a cualquier TableAdapter (y controles para aceptar los valores de parámetro y ejecutar la consulta), mediante el generador de criterios de búsqueda cuadro de diálogo.You can add parameterized queries to any TableAdapter (and controls to accept parameter values and execute the query), using the Search Criteria Builder dialog box. Abra el cuadro de diálogo seleccionando el Agregar consulta comando el datos menú (o en cualquier etiqueta inteligente del TableAdapter).Open the dialog box by selecting the Add Query command on the Data menu (or on any TableAdapter smart tag).

Las tareas ilustradas en este tutorial incluyen:Tasks illustrated in this walkthrough include:

  • Crear un nuevo proyecto de aplicación de Windows Forms.Creating a new Windows Forms Application project.

  • Crear y configurar el origen de datos en la aplicación con el configuración del origen de datos asistente.Creating and configuring the data source in your application with the Data Source Configuration wizard.

  • Establecer el tipo de colocación de los elementos de la orígenes de datosventana.Setting the drop type of the items in the Data Sourceswindow.

  • Crear controles que muestran datos arrastrando elementos desde la orígenes de datos ventana a un formulario.Creating controls that display data by dragging items from the Data Sources window onto a form.

  • Agregar controles para mostrar los datos en el formulario.Adding controls to display the data on the form.

  • Completar la generador de criterios de búsqueda cuadro de diálogo.Completing the Search Criteria Builder dialog box.

  • Escribir parámetros en el formulario y ejecutar la consulta con parámetros.Entering parameters into the form and executing the parameterized query.

Requisitos previosPrerequisites

Este tutorial usa SQL Server Express LocalDB y la base de datos de ejemplo Northwind.This walkthrough uses SQL Server Express LocalDB and the Northwind sample database.

  1. Si no tiene SQL Server Express LocalDB, puede instalarlo desde el página de descarga de SQL Server Express, o a través del instalador de Visual Studio.If you don't have SQL Server Express LocalDB, install it either from the SQL Server Express download page, or through the Visual Studio Installer. El instalador de Visual Studio, se puede instalar SQL Server Express LocalDB como parte de la almacenamiento de datos y el procesamiento carga de trabajo, o como un componente individual.In the Visual Studio Installer, SQL Server Express LocalDB can be installed as part of the Data storage and processing workload, or as an individual component.

  2. Instalar la base de datos de ejemplo Northwind, siga estos pasos:Install the Northwind sample database by following these steps:

    1. En Visual Studio, abra el Explorador de objetos de SQL Server ventana.In Visual Studio, open the SQL Server Object Explorer window. (Explorador de objetos de SQL Server se instala como parte de la almacenamiento de datos y el procesamiento carga de trabajo en el instalador de Visual Studio.) Expanda el SQL Server nodo.(SQL Server Object Explorer is installed as part of the Data storage and processing workload in the Visual Studio Installer.) Expand the SQL Server node. Haga doble clic en la instancia de LocalDB y seleccione nueva consulta... .Right-click on your LocalDB instance and select New Query....

      Se abre una ventana del editor de consultas.A query editor window opens.

    2. Copia la script Transact-SQL de Northwind en el Portapapeles.Copy the Northwind Transact-SQL script to your clipboard. Este script de T-SQL crea la base de datos Northwind desde el principio y lo rellena con datos.This T-SQL script creates the Northwind database from scratch and populates it with data.

    3. Pegue el script de T-SQL en el editor de consultas y, a continuación, elija la Execute botón.Paste the T-SQL script into the query editor, and then choose the Execute button.

      Después de unos minutos, finaliza la ejecución de la consulta y se crea la base de datos Northwind.After a short time, the query finishes executing and the Northwind database is created.

Crear la aplicación de Windows FormsCreate the Windows Forms Application

El primer paso es crear un aplicación de Windows Forms.The first step is to create a Windows Forms Application. Asignar un nombre al proyecto es opcional en este paso, pero se podrá asignarle un nombre aquí debido a que podrá guardar el proyecto más adelante.Assigning a name to the project is optional at this step, but you'll give it a name here because you'll save the project later.

Para crear el nuevo proyecto de aplicación de Windows FormsTo create the new Windows Forms Application project

  1. En Visual Studio, en el archivo menú, seleccione New, proyecto... .In Visual Studio, on the File menu, select New, Project....

  2. Expanda Visual C# o Visual Basic en el panel izquierdo, seleccione escritorio clásico de Windows.Expand either Visual C# or Visual Basic in the left-hand pane, then select Windows Classic Desktop.

  3. En el panel central, seleccione la aplicación de Windows Forms tipo de proyecto.In the middle pane, select the Windows Forms App project type.

  4. Denomine el proyecto WindowsSearchFormy, a continuación, elija Aceptar.Name the project WindowsSearchForm, and then choose OK.

    El WindowsSearchForm se crea y se agrega al proyecto el Explorador de soluciones.The WindowsSearchForm project is created and added to Solution Explorer.

Crear el origen de datosCreate the data source

Este paso crea un origen de datos desde una base de datos mediante la configuración del origen de datos asistente.This step creates a data source from a database using the Data Source Configuration wizard.

Para crear el origen de datosTo create the data source

  1. En el menú Datos , haga clic en Mostrar orígenes de datos.On the Data menu, click Show Data Sources.

  2. En el orígenes de datos ventana, seleccione Agregar nuevo origen de datos para iniciar el configuración del origen de datos asistente.In the Data Sources window, select Add New Data Source to start the Data Source Configuration wizard.

  3. Seleccione Base de datos en la página Elegir un tipo de datos de origen y luego haga clic en Siguiente.Select Database on the Choose a Data Source Type page, and then click Next.

  4. En el elegir la conexión de datos realice de página una de las siguientes acciones:On the Choose your Data Connection page do one of the following:

    • Si una conexión de datos a la base de datos de ejemplo Northwind está disponible en la lista desplegable, selecciónela.If a data connection to the Northwind sample database is available in the drop-down list, select it.

    • Seleccione nueva conexión para iniciar el agregar o modificar conexión cuadro de diálogo.Select New Connection to launch the Add/Modify Connection dialog box.

  5. Si la base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y, a continuación, haga clic en siguiente.If your database requires a password, select the option to include sensitive data, and then click Next.

  6. En el Guardar cadena de conexión en el archivo de configuración de la aplicación página, haga clic en siguiente.On the Save connection string to the Application Configuration file page, click Next.

  7. En el elija los objetos de base de datos página, expanda la tablas nodo.On the Choose your Database Objects page, expand the Tables node.

  8. Seleccione el clientes de tabla y, a continuación, haga clic en finalizar.Select the Customers table, and then click Finish.

    El NorthwindDataSet se agrega al proyecto y el clientes tabla aparece en la orígenes de datos ventana.The NorthwindDataSet is added to your project, and the Customers table appears in the Data Sources window.

Crear el formularioCreate the form

Puede crear los controles enlazados a datos arrastrando elementos desde la orígenes de datos ventana hasta el formulario.You can create the data-bound controls by dragging items from the Data Sources window onto your form.

Para crear controles enlazados en el formularioTo create data-bound controls on the form

  1. Expanda el clientes nodo en el orígenes de datos ventana.Expand the Customers node in the Data Sources window.

  2. Arrastre el clientes nodo desde el orígenes de datos ventana al formulario.Drag the Customers node from the Data Sources window to your form.

    En el formulario aparecen un control DataGridView y una barra de herramientas (BindingNavigator) para navegar por los registros.A DataGridView and a tool strip (BindingNavigator) for navigating records appear on the form. A NorthwindDataSet, CustomersTableAdapter, BindingSource, y BindingNavigator aparecen en la Bandeja de componentes.A NorthwindDataSet, CustomersTableAdapter, BindingSource, and BindingNavigator appear in the component tray.

Agregar parametrización (funcionalidad de búsqueda) a la consultaAdd parameterization (search functionality) to the query

Puede agregar una cláusula WHERE a la consulta original utilizando el generador de criterios de búsqueda cuadro de diálogo.You can add a WHERE clause to the original query using the Search Criteria Builder dialog box.

Para crear una consulta parametrizada y controles para escribir los parámetrosTo create a parameterized query and controls to enter the parameters

  1. Seleccione el DataGridView de control y, a continuación, elija Agregar consulta en el datos menú.Select the DataGridView control, and then choose Add Query on the Data menu.

  2. Tipo de FillByCity en el nuevo nombre de consulta área en el generador de criterios de búsqueda cuadro de diálogo.Type FillByCity in the New query name area on the Search Criteria Builder dialog box.

  3. Agregar WHERE City = @City a la consulta en el texto de la consulta área.Add WHERE City = @City to the query in the Query Text area.

    La consulta debe ser similar a lo siguiente:The query should be similar to the following:

    SELECT CustomerID, CompanyName, ContactName, ContactTitle,
         Address, City, Region, PostalCode, Country, Phone, Fax
    FROM Customers
    WHERE City = @City
    

    Nota

    Orígenes de datos de Access y OLE DB usan el signo de interrogación ('? ') para denotar los parámetros, por lo que la cláusula WHERE tendría este aspecto: WHERE City = ?.Access and OLE DB data sources use the question mark ('?') to denote parameters, so the WHERE clause would look like this: WHERE City = ?.

  4. Haga clic en Aceptar para cerrar el generador de criterios de búsqueda cuadro de diálogo.Click OK to close the Search Criteria Builder dialog box.

    A FillByCityToolStrip se agrega al formulario.A FillByCityToolStrip is added to the form.

Probar la aplicaciónTesting the application

Al ejecutar la aplicación, se abre el formulario listo para tomar el parámetro como entrada.Running the application opens your form ready to take the parameter as input.

Para probar la aplicaciónTo test the application

  1. Presione F5 para ejecutar la aplicación.Press F5 to run the application.

  2. Tipo de London en el City cuadro de texto y, a continuación, haga clic en FillByCity.Type London into the City text box, and then click FillByCity.

    La cuadrícula de datos se rellena con los clientes que cumplen los criterios.The data grid is populated with customers that meet the criteria. En este ejemplo, la cuadrícula de datos muestra sólo los clientes que tienen un valor de London en sus City columna.In this example, the data grid only displays customers that have a value of London in their City column.

Pasos siguientesNext Steps

Dependiendo de los requisitos de la aplicación, existen varios pasos que se pueden realizar después de crear un formulario parametrizado.Depending on your application requirements, there are several steps you may want to perform after creating a parameterized form. Entre las mejoras que podría realizar se incluyen:Some enhancements you could make to this walkthrough include:

Vea tambiénSee Also