Cómo: Guardar los datos de un objeto en una base de datos

Puede guardar datos de objetos en una base de datos pasando los valores del objeto a uno de los métodos DBDirect del TableAdapter (por ejemplo, TableAdapter.Insert). Para obtener más información, vea Información general sobre TableAdapter.

Para guardar datos de una colección de objetos, recorra la colección (por ejemplo, utilizando un bucle for-next) y envíe los valores de cada objeto a la base de datos con uno de los métodos DBDirect del TableAdapter.

De forma predeterminada, los métodos DBDirect se crean en un TableAdapter que se puede ejecutar directamente en la base de datos. Estos métodos se pueden llamar directamente y no requieren objetos DataSet ni DataTable para reconciliar cambios y enviar actualizaciones a una base de datos.

Nota

Cuando configuran un TableAdapter, la consulta principal debe proporcionar información suficiente para los métodos DBDirect que se van a crear. Por ejemplo, si un TableAdapter está configurado para consultar datos de una tabla que no dispone de una columna de clave principal definida, no genera métodos DBDirect.

Método DBDirect de TableAdapter

Descripción

TableAdapter.Insert

Agrega nuevos registros a una base de datos, permitiendo pasar valores de columna individuales como parámetros de método.

TableAdapter.Update

Actualiza registros existentes en una base de datos. El método Update toma los valores originales y nuevos de la columna como parámetros de método. Los valores originales se utilizan para buscar el registro original y los nuevos valores se utilizan para actualizar ese registro.

El método TableAdapter.Update también se utiliza para reconciliar los cambios de un conjunto de datos en la base de datos, tomando DataSet, DataTable, DataRow o una matriz de DataRows como parámetros del método.

TableAdapter.Delete

Elimina registros existentes de la base de datos basándose en los valores de columna originales pasados como parámetros de método.

Para guardar nuevos registros de un objeto a una base de datos

  • Cree los registros pasando los valores al método TableAdapter.Insert.

    El ejemplo siguiente crea un nuevo registro de cliente en la tabla Customers pasando los valores del objeto currentCustomer al método TableAdapter.Insert.

    Private Sub AddNewCustomer(ByVal currentCustomer As Customer)
    
        CustomersTableAdapter.Insert(
            currentCustomer.CustomerID,
            currentCustomer.CompanyName,
            currentCustomer.ContactName,
            currentCustomer.ContactTitle,
            currentCustomer.Address,
            currentCustomer.City,
            currentCustomer.Region,
            currentCustomer.PostalCode,
            currentCustomer.Country,
            currentCustomer.Phone,
            currentCustomer.Fax)
    End Sub
    
    private void AddNewCustomers(Customer currentCustomer)
    {
        customersTableAdapter.Insert( 
            currentCustomer.CustomerID, 
            currentCustomer.CompanyName, 
            currentCustomer.ContactName, 
            currentCustomer.ContactTitle, 
            currentCustomer.Address, 
            currentCustomer.City, 
            currentCustomer.Region, 
            currentCustomer.PostalCode, 
            currentCustomer.Country, 
            currentCustomer.Phone, 
            currentCustomer.Fax);
    }
    

Para actualizar registros existentes de un objeto en una base de datos

  • Modifique los registros llamando al método TableAdapter.Update y pasando los nuevos valores para actualizar el registro y los valores originales para localizarlo.

    Nota

    El objeto necesita mantener los valores originales para pasarlos al método Update. Este ejemplo utiliza propiedades con un prefijo orig para almacenar los valores originales.

    El ejemplo siguiente actualiza un registro existente de la tabla Customers pasando los valores nuevos y originales del objeto Customer al método TableAdapter.Update.

    Private Sub UpdateCustomer(ByVal cust As Customer)
    
            CustomersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax)
    End Sub
    
    private void UpdateCustomer(Customer cust)
    {
        customersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Para eliminar registros existentes de una base de datos

  • Elimine los registros llamando al método TableAdapter.Delete y pasando los valores originales para buscar el registro.

    Nota

    El objeto necesita mantener los valores originales para pasarlos al método Delete. Este ejemplo utiliza propiedades con un prefijo orig para almacenar los valores originales.

    El ejemplo siguiente elimina un registro de la tabla Customers pasando los valores originales del objeto Customer al método TableAdapter.Delete.

    Private Sub DeleteCustomer(ByVal cust As Customer)
    
        CustomersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax)
    End Sub
    
    private void DeleteCustomer(Customer cust)
    {
        customersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Seguridad

Debe tener permiso para realizar la operación INSERT, UPDATE o DELETE en la tabla de la base de datos.

Vea también

Tareas

Cómo: Conectarse a los datos en objetos

Tutorial: Conectar a los datos en objetos (Windows Forms)

Cómo: Obtener acceso directamente a la base de datos con un TableAdapter

Conceptos

Enlace de objetos en Visual Studio

Enlazar controles de Windows Forms a datos en Visual Studio

Enlazar controles a los datos en Visual Studio

Otros recursos

Conectarse a datos en Visual Studio

Preparar la aplicación para recibir datos

Buscar datos en la aplicación

Modificar datos en la aplicación

Validar datos

Guardar datos