Conecciones A Bases de Datos
Conecciones A Bases de Datos
Conecciones A Bases de Datos
clase SqlConnection de C#. La clase SqlConnection representa una conexión abierta a una
base de datos SQL Server 1. Aquí hay un ejemplo de cómo guardar información en una base de datos
utilizando SqlConnection :
C#
using System;
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = @"Data Source=ServerName;Initial
Catalog=DatabaseName;User ID=UserName;Password=Password";
string queryString = "INSERT INTO TableName (ColumnName1, ColumnName2) VALUES
(@Value1, @Value2)";
connection.Open();
command.ExecuteNonQuery();
}
}
}
Código generado por IA. Revisar y usar cuidadosamente. Más información sobre preguntas frecuentes.
Tengo este gran problema y es que además de que soy nuevo en esto de programar, me cuesta bastante.
El tema es el siguiente, necesito aplicar MVP a un pequeño programa de escritorio que estoy
desarrollando y para ello necesito desvincular total mente la capa de vista con la creación de objetos.
Por ejemplo, en el codigo siguiente tengo la creacion de la db y tengo que realizar una igualdad, cómo
lo hago aplicando interfaces? Muchas gracias!
private void btnGuardar_Click(object sender, EventArgs e)
{
using (DataContext db = new DataContext())
{
Paciente obj = pacienteBindingSource.Current as Paciente;
if (obj != null)
{
if
(db.Entry<Paciente>(obj).State==System.Data.Entity.EntityState.Detached)
{
db.Set<Paciente>().Attach(obj);
}
if (obj.PacienteID == 0)
{
db.Entry<Paciente>(obj).State =
System.Data.Entity.EntityState.Added;
}
else
db.Entry<Paciente>(obj).State =
System.Data.Entity.EntityState.Modified;
db.SaveChanges();
gridPacientes.Refresh();
pControls.Enabled = false;
}
}
}
c#
sql
interface
mvp
Compartir
Mejora esta pregunta
Seguir
formulada el 10 feb. 2018 a las 21:08
ginona
1
Mirate este tutorial por si te es de ayuda hacerca de MVP
– Miguel Angel Utiel Peñaranda
el 12 feb. 2018 a las 11:53
antes de iniciar con patron MVP Implementa desarrollo a n-
capas ves-sandola.blogspot.com/2013/07/…
– ger
el 25 feb. 2020 a las 21:04
Añade un comentario
1 respuesta
Ordenado por:
Mayor puntuación (por defecto)
Fecha de modificación (lo más nuevo primero) Fecha de
creación (lo más antiguo primero)
0
El modelo vista controlador, te permite reutilizar código, en este caso te ayuda a no tener que escribir el
código para conectarte en la base de datos en cada nueva clase que lo necesitas.
Ejemplo:
Clase Conexión
using MySql.Data.MySqlClient;
public class Conectar {
Cuando necesites abrir la conexión a la base de datos puedes llamarlos usando herencia o declarando el
objeto dentro de la clase.
Herencia:
Class Registro: Conectar{ }
conectar() <-- llamando al objeto
Llamando al Objeto
Conectar obj = new Conectar()
obj.conectar() <-- llamando al objeto
En este artículo
1. Requisitos de objetos
2. Ejemplos de uso de objetos personalizados como orígenes de datos
3. Contenido relacionado
Nota
Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de
principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria
mientras están desconectadas de la base de datos. Son especialmente útiles para las aplicaciones que
permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los
conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas
aplicaciones de .NET usen Entity Framework Core . Entity Framework proporciona una manera más
natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación
más sencilla.
Visual Studio proporciona herramientas en tiempo de diseño para trabajar con objetos personalizados
como origen de datos en la aplicación. Cuando quiera almacenar datos de una base de datos en un
objeto que enlace a controles de interfaz de usuario, el enfoque recomendado es usar Entity Framework
para generar la clase, o las clases. Entity Framework genera automáticamente todo el código
reutilizable de seguimiento de cambios, lo que significa que los cambios que se realicen en los objetos
locales se conservarán automáticamente en la base de datos al llamar a AcceptChanges en el objeto
DbSet. Para más información, consulte la documentación de Entity Framework.
Sugerencia
Los métodos para el enlace de objetos que se indican en este artículo solo se deben tener en cuenta si la
aplicación ya está basada en conjuntos de datos. Estos métodos también pueden utilizarse si ya se está
familiarizado con los conjuntos de datos y los datos que se van a procesar son tabulares y no
demasiado complejos o demasiado grandes. Para ver un ejemplo aún más sencillo, que implica cargar
datos directamente en objetos mediante DataReader y actualizar manualmente la interfaz de usuario sin
enlace de datos, consulte Creación de una aplicación de datos sencilla mediante ADO.NET .
Requisitos de objetos
El único requisito para que los objetos personalizados funcionen con las herramientas de diseño de
datos en Visual Studio es que el objeto necesita tener al menos una propiedad pública.
Por lo general, los objetos personalizados no requieren interfaces, constructores ni atributos específicos
para actuar como origen de datos en una aplicación. Sin embargo, si desea arrastrar el objeto desde la
ventana Orígenes de datos a una superficie de diseño para crear un control enlazado a datos y si el
objeto implementa la interfaz ITypedList o IListSource, el objeto debe tener un constructor
predeterminado. De lo contrario, Visual Studio no puede crear instancias del objeto de origen de datos
y muestra un error al arrastrar el elemento a la superficie de diseño.
El método TableAdapter.GetData devuelve una nueva tabla de datos rellenada con datos.
La manera más fácil de cargar los objetos personalizados con datos es llamar al
método TableAdapter.GetData, recorrer en bucle la colección de filas de la tabla de datos
devuelta y rellenar cada objeto con los valores de cada fila. Puede crear un método GetData que
devuelva una tabla de datos rellenada para cualquier consulta agregada a un objeto TableAdapter.
Nota
Visual Studio asigna nombres a las consultas de TableAdapter Fill y GetData de forma
predeterminada, pero puede cambiar esos nombres por cualquier nombre de método válido.
En el ejemplo siguiente se muestra cómo recorrer en bucle las filas de una tabla de datos y rellenar un
objeto con datos:
C#
VB
C#Copiar
private void LoadCustomers()
{
NorthwindDataSet.CustomersDataTable customerData =
customersTableAdapter1.GetTop5Customers();
if (customerRow.IsAddressNull() == false)
{
currentCustomer.Address = customerRow.Address;
}
if (customerRow.IsCityNull() == false)
{
currentCustomer.City = customerRow.City;
}
if (customerRow.IsContactNameNull() == false)
{
currentCustomer.ContactName = customerRow.ContactName;
}
if (customerRow.IsContactTitleNull() == false)
{
currentCustomer.ContactTitle = customerRow.ContactTitle;
}
if (customerRow.IsCountryNull() == false)
{
currentCustomer.Country = customerRow.Country;
}
if (customerRow.IsFaxNull() == false)
{
currentCustomer.Fax = customerRow.Fax;
}
if (customerRow.IsPhoneNull() == false)
{
currentCustomer.Phone = customerRow.Phone;
}
if (customerRow.IsPostalCodeNull() == false)
{
currentCustomer.PostalCode = customerRow.PostalCode;
}
if (customerRow.IsRegionNull() == false)
{
currentCustomer.Region = customerRow.Region;
}
LoadOrders(currentCustomer);
customerBindingSource.Add(currentCustomer);
}
}
Nota
En el código siguiente se muestra cómo crear la clase para una colección fuertemente tipada de
objetos Order:
C#
VB
C#Copiar
/// <summary>
/// A collection of Orders
/// </summary>
public class Orders: System.ComponentModel.BindingList<Order>
{
// Add any additional functionality required by your collection.
}
Nota
En el código siguiente se muestra cómo agregar objetos a la colección con tipo en BindingSource:
C#
VB
C#Copiar
Customer currentCustomer = new Customer();
customerBindingSource.Add(currentCustomer);
En el código siguiente se muestra cómo agregar objetos a un colección con tipo que hereda
de BindingList<T>:
Nota
C#
VB
C#Copiar
Order currentOrder = new Order();
currentCustomer.Orders.Add(currentOrder);
Nota
En el código siguiente se muestra cómo buscar y quitar objetos de la colección con tipo
en BindingSource con el método RemoveAt:
C#
VB
C#Copiar
int customerIndex = customerBindingSource.Find("CustomerID", "ALFKI");
customerBindingSource.RemoveAt(customerIndex);
C#
VB
C#Copiar
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);
}
EJEMPLO DE CONECCION A BASE DE DATOS EN PROYECTO EMPLEADO SUPERVISOR
hacer un metodo que haga una coneccion a base de datos y sea capaz de
guardar todas las propiedades de cada empleado mostrada en el metodo
mostrar empleado en distintas columnas de una tabla empleado. Tambien
hacer lo mismo con cada supervisor
comando.ExecuteNonQuery();
}
}
}
5. Ahora, en tu método principal (Main), después de llenar tus arreglos, puedes llamar a estos
métodos para guardar la información en la base de datos:
csharpCopy code
// Después de llenar tus arreglos ListaEmpleados y ListaSupervisores
foreach (var empleado in ListaEmpleados)
{
GuardarEmpleadoEnBD(empleado);
}
Ten en cuenta que este es un ejemplo básico y puede requerir ajustes según tu entorno específico y
necesidades de seguridad. Además, siempre se recomienda utilizar parámetros en las consultas SQL
para evitar ataques de inyección de SQL.