Cadena de conexión SQL en C#
-
Conceptos básicos de la conectividad de la base de datos en
C#
-
Ejemplo de 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.
-
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.2Catálogo Inicial
- El nombre de la base de datos se determina utilizando elCatá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.
-
Comando SQL
: el usuario tiene la capacidad de consultar y enviar comandos a la base de datos a través deSqlCommand
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, yExecuteNonQuery
es el método que se usa para los comandosinsert
,update
ydelete
. 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
.
-
Para comenzar, cree un nuevo proyecto
Windows Form
y asígnele el nombre que prefiera; en este ejemplo, lo llamamoschsarpConnectionStringByZeeshan
. -
Use dos etiquetas y luego utilice cuadros de texto con las etiquetas “Nombre” y “Designación” y nombres como campos
nametextBox
ydesigtextBox
. -
Después de utilizar etiquetas y cuadros de texto, el siguiente paso es incluir un botón con la etiqueta
Agregar datos
y el nombreaddbtn
. Al hacer clic en este botón, los datos se agregarán a la base de datos.
Ahora que el formulario se ha preparado a fondo, es hora de crear el código para el botón Agregar datos
.
-
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;
-
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");
-
Ahora, vamos a crear un objeto de tipo
SqlCommand
y darle el nombrecmd
.SqlCommand cmd;
-
Haga doble clic en el botón
Agregar datos
. Esto creará un nuevo evento donde escribiremos el código. -
Ahora, usaremos el
SqlCommand
y le pasaremos como parámetro la consultainsertar
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();
-
Después de insertar correctamente los datos, mostraremos un mensaje que indica que los datos se han insertado.
MessageBox.Show("Data inserted successfully");
-
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:
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