Cómo crear y utilizar un DataSet con tipo mediante el uso de Visual Basic .NET o Visual Basic 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 315678 - Ver los productos a los que se aplica este artículo
Para obtener una versión de Microsoft Visual C# .NET de este el artículo, consulte 320714.

Este artículo hace referencia en el espacio de nombres de biblioteca de clases de.NET Framework de Microsoft siguiente:
  • System.Data.SqlClient
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se muestra cómo crear y utilizar DataSet con tipo en una pequeña aplicación Web. Los conjuntos de datos, con tipo que hereda de la clase de conjunto de datos , crear a miembros de primera clase de un conjunto de datosde DataTable y DataColumn, que revela las numerosas ventajas que vienen con el uso de fuerte Si se escribe.

Requisitos

Los elementos siguientes describen el hardware recomendado, software, habilidades, conocimientos e infraestructura de red y los service Pack que necesita para completar estos pasos:
  • Microsoft SQL Server 6.5 (o posterior) con Neptuno base de datos
En este artículo se supone que está familiarizado con la siguiente temas:
  • Microsoft SQL Server
  • Microsoft Visual Studio .NET o Microsoft Visual Studio 2005
  • Microsoft ADO.NET
  • Controles Web de Microsoft .NET

Conjuntos de datos con tipo

Siga estos pasos para crear una pequeña aplicación Web mediante el uso de Visual Studio .NET o Visual Studio 2005. La aplicación Web utiliza el conjunto de datos con tipo para mostrar los resultados de una consulta SQL improvisado en el Base de datos Northwind.
  1. Inicie Visual Studio .NET o Visual Studio 2005.
  2. Crear un nuevo proyecto de aplicación Web denominadoTDS en Visual Basic. NET.

    Nota En Visual Studio 2005, cree un nuevo sitio Web.
  3. Asegúrese de que se muestra el Explorador de soluciones. Si el No se muestra el Explorador de soluciones, presione CTRL + ALT + L.
  4. Asegúrese de que el archivo WebForm1.aspx está abierto en el Editor ventana. Si el archivo no está abierto, haga doble clic en WebForm1.aspx en el Explorador de soluciones para abrir el archivo.

    Nota En Visual Studio 2005, haga doble clic en Default.aspx.
  5. En la ventana del Editor, haga clic en diseño para cambiar a la vista diseño .
  6. Para abrir el cuadro de herramientas, presione CTRL + ALT + X. En el cuadro de herramientas Haga clic en Formularios Web Forms. Seleccione y arrastre el siguiente a la esquina superior izquierda de la página: dos filas cada uno de una etiqueta seguida por un cuadro de texto (ubicado a la derecha de cada etiqueta). Debajo de éstos, agregar un control DataGrid de la misma manera.
  7. Haga clic en la etiqueta superior. Presione F4 para mostrar las propiedades ventana. Cambio de la Propiedad Text aProducto. Haga clic en la etiqueta de otra y, a continuación, cambie suPropiedad Text a Categoría.
  8. Para agregar un nuevo conjunto de datos al proyecto, presione CTRL + MAYÚS + A y, a continuación, haga clic en el conjunto de datos en la lista de plantillas. Nombre del conjunto de datos de la siguiente: dsProducts.xsd. Tenga en cuenta que el archivo es realmente un esquema XML. Haga clic en Aceptar. Ahora verá una página de color amarilla pálida en la ventana del Editor.
  9. Para crear un DataSetcon tipo, presione CTRL + ALT + S para abrir el Explorador de servidores.
  10. Haga clic en servidores, haga clic en nombre de equipo, haga clic en SQLServers, haga clic en nombre de servidor, haga clic en Neptunoy, a continuación, haga clic en vistas.
  11. Seleccione la vista de Northwind de SQL Server Orden alfabético lista de productosy, a continuación, arrastre la vista a la página de conjunto de datos de color amarilla pálida. Conjunto de una representación visual de los resultados generado por la vista aparece en la página. Para ver el código XML real para el esquema archivo, haga clic en el botón XML en la ventana del Editor.
  12. Existe un esquema basado en un objeto de SQL Server ahora. Para crear rellenar DataSetcon tipo, primero debe generar la clase que se asigna al esquema. Haga clic en la vista diseño y, a continuación, asegúrese de que está seleccionada la opción de Generar conjunto de datos . Si no está seleccionada, seleccionar. Prensa CTRL + S para guardar el esquema y generar la clase.
  13. Para ver la nueva clase DataSet con tipo, haga clic en Mostrar todos los archivos en la solución Explorador.
  14. Expanda el árbol situado junto a dsProducts.xsd. Ver un archivo de dsProducts.vb, que contiene la nueva clase asignación para el esquema. También verá un archivo de dsProducts.xsx, que se utiliza para seguimiento de los cambios a los archivos.
  15. Para escribir código para mostrar el conjunto de datoscon tipo, haga doble clic directamente en el formulario Web Forms (no en un Control Web). Aparece el código subyacente del formulario Web Forms y el punto de inserción está dentro del evento Page_Load .
  16. Para incluir las clases que residen en el Espacio de nombres System.Data.SqlClient, agregue la siguiente instrucción Imports al principio de que el código subyacente:
    Imports System.Data.SqlClient
    					
    Nota Los otros espacios de nombres que necesita para este sitio Web pequeño aplicación automáticamente se hace referencia en el proyecto cuando se crea un sitio Web aplicación en Visual Studio .NET.
  17. En el procedimiento de evento Page_Load , cree un objeto de conexión, pasando la cadena de conexión para el constructor predeterminado de la clase SqlConnection :
    Dim cn As SqlConnection = New SqlConnection("[YourConnectionString]")
    					
  18. Crear un objeto SqlCommand que se pasa posteriormente a el objeto SqlDataAdapter. Pasar de una instrucción SQL improvisada y la nueva Objeto de conexión al constructor SqlCommand. El primero establece la propiedad CommandText del objeto SqlCommand nuevo. También puede pasar el nombre de un procedimiento almacenado.
    Dim cmd As SqlCommand = New SqlCommand("Select * from [Alphabetical list of products]", cn)
    					
  19. Crear una instancia del objeto SqlDataAdapter, pasar el nuevo objeto SqlCommand al constructor:
    Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
    					
  20. Ahora crea los objetos que necesitan para conectarse a los datos de la base de datos y de retorno. El siguiente es el código para el conjunto de datoscon tipo. Tenga en cuenta que se crea una instancia de la clase dsProducts : la clase que se asigna a la dsProducts esquema y se hereda de la clase de conjunto de datos , no en la clase de conjunto de datos genérica en sí mismo.
    Dim tds As dsProducts = New dsProducts()
    					
  21. Llamar al método Fill de SqlDataAdapter, pasando el objeto DataSet con tipo y del conjunto de datoscon tipo propiedad DataTable TableName :
    da.Fill(tds, tds.Tables(0).TableName)
    					
  22. Para establecer controles de cuadro de la propiedad Text del texto a las columnas fuertemente tipadas en el con tipo conjunto de datosde tabla de datos, utilice el siguiente formato:
    dsProducts.DataTableName(RowIndex).ColumnName
    						
    Para esta aplicación de ejemplo RowIndex está codificado de forma rígida a 5:
    TextBox1.Text = tds.Alphabetical_list_of_products(5).ProductName
    TextBox2.Text = tds.Alphabetical_list_of_products(5).CategoryName
    						
    Debido a la colección de filas está basada en cero, cuando se carga la página, tenga en cuenta que el texto controles de cuadro de mostrar los nombres de producto y categoría del elemento en la sexta fila del control DataGrid.
  23. Para mostrar todos los resultados en el control DataGrid, establezca la propiedad DataSource del control DataGrid en el nuevo conjunto de datosde con tipo y llame a DataBind():
    DataGrid1.DataSource = tds
    DataGrid1.DataBind()
    					

Lista completa de código (WebForm1.aspx)

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="howto_tds.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Microsoft Visual Studio.NET 7.0" name=GENERATOR>
<meta content="Visual Basic 7.0" name=CODE_LANGUAGE>
<meta content=JavaScript name=vs_defaultClientScript>
<meta content=http://schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema>
</HEAD>
<body ms_positioning="GridLayout">
<form id=Form1 method=post runat="server">
<P>
	<asp:label id=Label1 runat="server">Product</asp:label>
	<asp:textbox id=TextBox1 runat="server"></asp:textbox>
	<asp:label id=Label2 runat="server">Category</asp:label>
	<asp:textbox id=TextBox2 runat="server"></asp:textbox>
</P>
<P><asp:datagrid id=DataGrid1 runat="server"></asp:datagrid></P>
</form>
</body>
</HTML>
				

Lista completa de código (WebForm1.aspx.vb)

Imports System.Data.SqlClient

Public Class WebForm1
//Note in Visual Studio 2005, "Public Class WebForm1" should be changed to "Partial Class _Default"
    Inherits System.Web.UI.Page
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents Label2 As System.Web.UI.WebControls.Label
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim cn As System.Data.SqlClient.SqlConnection = _
    New System.Data.SqlClient.SqlConnection( _
    "server=C-176012-C\NetSDK;uid=sa;password=;database=Northwind")
        Dim cmd As System.Data.SqlClient.SqlCommand = _
    New System.Data.SqlClient.SqlCommand( _
    "Select * from [Alphabetical list of products]", cn)
        Dim da As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(cmd)

        Dim tds As dsProducts = New dsProducts()
        da.Fill(tds, tds.Tables(0).TableName)

        TextBox1.Text = tds.Alphabetical_list_of_products(5).ProductName
        TextBox2.Text = tds.Alphabetical_list_of_products(5).CategoryName

        DataGrid1.DataSource = tds
        DataGrid1.DataBind()

    End Sub

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer.
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

End Class
				
Nota En Visual Studio 2005, busque el código siguiente:
Public Class WebForm1
Reemplazar por el siguiente:
Partial Class _Default

Verificación

Presione F5 para ejecutar la aplicación Web. El explorador muestra "tío Peras secas orgánicas de Bob"en el Producto cuadro de texto y "Alimentos" en el Categoría cuadro de texto. Aparece un control DataGrid se rellenan con información de producto en los cuadros de texto.

Solución de problemas

  • Los Conjuntos de datos genéricos de no requieren que se pase un Nombre de tabla al llamar al método Fill . Sin embargo, los conjuntos de datos, con tipo a requieren esto, incluso si tiene acceso el conjunto de datosde recopilación de tablas , índices, en lugar del nombre de tabla. Si no se pasa un Nombre de tabla a un Conjunto de datos tipado, se producirá el error "No hay ninguna fila en la posición 0" en tiempo de ejecución. Esto requisito de conjuntos de datos con tipo también significa que no puede realizar su propio nombre de tabla , pero debe pasar una que se hace referencia en la clase DataSet con tipo, que se tiene acceso al igual que en el código anterior.
  • Los cambios manuales que se realicen en el esquema que se generado por Visual Studio .NET o por Visual Studio 2005 se sobrescriben si cambia la base de datos objeto usa inicialmente para generar el esquema y con el tipo de clase de conjunto de datos y arrastre de nuevo a la vista diseño del esquema. Suele ser preferible para realizar los cambios que necesarios en el el nivel de SQL Server y generar un nuevo conjunto de datos de tipos que al cambiar el esquema resultante.

Referencias

Para obtener más información acerca de cómo trabajar con un conjunto de datoscon tipo, consulte el siguiente sitio Web de Microsoft:
Trabajar con un DataSet con tipo
http://msdn.Microsoft.com/en-us/library/esbykkzb.aspx

Propiedades

Id. de artículo: 315678 - Última revisión: domingo, 12 de mayo de 2013 - Versión: 7.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Palabras clave: 
kbvs2005swept kbvs2005applies kbhowtomaster kbsqlclient kbsystemdata kbmt KB315678 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 315678

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com