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
Preparar la aplicación para recibir datos
Enlazar controles a los datos en Visual Studio
Modificar datos en la aplicación