Cadena de conexión SQL en C#

Muhammad Zeeshan 12 octubre 2023
  1. Conceptos básicos de la conectividad de la base de datos en C#
  2. Ejemplo de cadena de conexión SQL en C#
Cadena de conexión SQL en C#

En este tutorial, descubriremos cómo usar la función de cadena de conexión del lenguaje de programación C# para realizar diferentes funcionalidades.

Cualquier lenguaje de programación necesita poder obtener datos de una base de datos. La capacidad de trabajar con bases de datos es un requisito absoluto para cualquier lenguaje de programación.

Esto sigue siendo cierto para C# también. Es compatible con una variedad de bases de datos.

Se pueden utilizar muchas bases de datos, incluidas Oracle y Microsoft SQL Server. Antes de comenzar, debemos tener una comprensión clara de los fundamentos de la conectividad de la base de datos.

Conceptos básicos de la conectividad de la base de datos en C#

Tanto C# como .Net son compatibles con la mayoría de las bases de datos, siendo Oracle y Microsoft SQL Server los ejemplos más comunes. Sin embargo, la metodología detrás de trabajar con cualquier base de datos sigue un patrón mayoritariamente similar en todas ellas.

Los siguientes son algunos principios aplicables al trabajar con bases de datos compartidas por todas las bases de datos.

  1. Cadena de conexión: la conexión es el paso inicial obvio a seguir cuando se trabaja con los datos contenidos en una base de datos. Los parámetros enumerados a continuación son una parte esencial de la conexión realizada a una base de datos.

    Para que C# comprenda la cadena de conexión, es necesario proporcionar información precisa sobre la cadena de conexión. Los siguientes elementos constituyen los componentes de la cadena de conexión.

    1.1 Fuente de datos: este es el nombre del servidor donde se almacena la base de datos, también conocida como la fuente de datos. En nuestro caso particular, se almacena en una computadora designada como (LocalDB)\MSSQLLocalDB.
    1.2 Catálogo Inicial - El nombre de la base de datos se determina utilizando el Catálogo Inicial como criterio. El nombre de la base de datos a la que se debe realizar la conexión es el primer aspecto crucial a considerar.

    Solo se puede acceder a una base de datos con una sola conexión en un momento dado.

  2. Comando SQL: el usuario tiene la capacidad de consultar y enviar comandos a la base de datos a través de SqlCommand en C#. El comando SQL lo proporciona el objeto que representa la conexión SQL.

    ExecuteReader es el método que se usa para los resultados de la consulta, y ExecuteNonQuery es el método que se usa para los comandos insert, update y delete. Por ejemplo, la cadena de conexión utilizada en el siguiente ejemplo es:

SqlConnection con = new SqlConnection(
    @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");

Ejemplo de cadena de conexión SQL en C#

Ahora, veamos un ejemplo simple de algo que debe mantenerse para establecer una conexión a una base de datos. En esta demostración, nos conectaremos a una base de datos usando una cadena de conexión y luego usaremos un botón para insertar Nombre y Designación en la base de datos llamada ConStringExample.

  1. Para comenzar, cree un nuevo proyecto Windows Form y asígnele el nombre que prefiera; en este ejemplo, lo llamamos chsarpConnectionStringByZeeshan.

    crear un nuevo formulario de Windows

  2. Use dos etiquetas y luego utilice cuadros de texto con las etiquetas “Nombre” y “Designación” y nombres como campos nametextBox y desigtextBox.

    etiqueta y cuadro de texto para winform

  3. Después de utilizar etiquetas y cuadros de texto, el siguiente paso es incluir un botón con la etiqueta Agregar datos y el nombre addbtn. Al hacer clic en este botón, los datos se agregarán a la base de datos.

    agregar botón a winform

Ahora que el formulario se ha preparado a fondo, es hora de crear el código para el botón Agregar datos.

  1. Para comenzar, tenemos que importar las siguientes bibliotecas.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
  2. Para establecer una conexión con la base de datos, crearemos una conexión entre las bases de datos utilizando la cadena de conexión que se proporciona a continuación.

    SqlConnection con = new SqlConnection(
        @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");
    
  3. Ahora, vamos a crear un objeto de tipo SqlCommand y darle el nombre cmd.

    SqlCommand cmd;
    
  4. Haga doble clic en el botón Agregar datos. Esto creará un nuevo evento donde escribiremos el código.

    Agregar evento de botón

  5. Ahora, usaremos el SqlCommand y le pasaremos como parámetro la consulta insertar que hemos preparado. Esto insertará datos en la tabla que se ha proporcionado.

    SqlCommand cmd = new SqlCommand("insert into Data1 (Name, Designation) values ('" +
                                        nametextBox.Text + "','" + desigtextBox.Text + "')",
                                    con);
    cmd.ExecuteNonQuery();
    
  6. Después de insertar correctamente los datos, mostraremos un mensaje que indica que los datos se han insertado.

    MessageBox.Show("Data inserted successfully");
    
  7. En el paso final, cerraremos la conexión y borraremos los cuadros de texto.

    con.Close();
    nametextBox.Clear();
    desigtextBox.Clear();
    

Código fuente completo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace chsarpConnectionStringByZeeshan {
  public partial class Form1 : Form {
    SqlConnection con = new SqlConnection(
        @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog= ConStringExample; Integrated Security=True");
    SqlCommand cmd;

    public Form1() {
      InitializeComponent();
    }

    private void addbtn_Click(object sender, EventArgs e) {
      con.Open();
      SqlCommand cmd = new SqlCommand("insert into Data1 (Name, Designation) values ('" +
                                          nametextBox.Text + "','" + desigtextBox.Text + "')",
                                      con);
      cmd.ExecuteNonQuery();
      MessageBox.Show("Data inserted successfully");
      con.Close();
      nametextBox.Clear();
      desigtextBox.Clear();
    }
  }
}

Producción:

Cadena de conexión SQL en C#

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn