el Guille, la Web del Visual Basic, C#, .NET y más...

El código completo del ejemplo de SQL Server para Visual C# 2005 o superior

 
Publicado el 26/May/2008
Actualizado el 26/May/2008
Autor: Guillermo 'guille' Som

El código completo de los ejemplos de las instrucciones INSERT, UPDATE y DELETE para Visual C# 2005 o superior para usar con bases de datos de SQL Server.



 

Introducción:

Aquí tienes el código completo para Visual C# 2005 o superior y usando una base de datos de SQL Server.

Para insertar los datos, te lo muestro de dos formas: usando un objeto SqlCommand y un SqlDataAdapter.

 

Recuerda que los datos están en una base de datos de SQL Server que está en la instancia SQLEXPRESS del equipo local.
Para más info sobre la base de datos de ejemplo, ver: Estructura de la tabla de ejemplo.

 

Para usar esta clase, puedes usar el siguiente código:

class Program
{
    static void Main(string[] args)
    {
        ejemploSQL();

        Console.ReadLine();
    }

    static void ejemploSQL()
    {
        AccesoDatosSQL sql = new AccesoDatosSQL();

        int t = sql.TotalRegistros();
        Console.WriteLine("El total de registros es: {0}", t);
        Console.WriteLine();

        int id;

        // Usando un command
        id = sql.Insertar("Guillermo", "Som", 
            "[email protected]", DateTime.Now, 
            "Prueba de insertar datos " + t + 1);
        Console.WriteLine("El nuevo ID es: {0}", id);

        // Usando un dataAdapter
        //id = sql.InsertarAdapter("Guillermo", "Som", 
        //    "[email protected]", DateTime.Now, 
        //    "Prueba de insertar datos " & t + 1);
        //Console.WriteLine("El nuevo ID es: {0}", id);

        // Actualizar el ID 2
        id = 2;
        sql.Actualizar(id, "Guillermo nº" + id, "Som", 
            "[email protected]", DateTime.Now);
    }
}

 

//-----------------------------------------------------------------------------
// Instrucciones SQL desde ADO.NET con Visual C# y SQL Server       (26/May/08)
//
// ©Guillermo 'guille' Som, 2008
//-----------------------------------------------------------------------------
using System;

using System.Data;
using System.Data.SqlClient;

namespace InstruccionesSQL_CS
{
    public class AccesoDatosSQL
    {
        public string NombreTabla = "Tabla1";

        public string CadenaConexion()
        {
            SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
            csb.DataSource = @"(local)\SQLEXPRESS";
            csb.InitialCatalog = "prueba_SQL";
            csb.IntegratedSecurity = true;

            return csb.ConnectionString;
        }

        public int Insertar(string nombre, 
            string apellidos, string email, 
            DateTime fecha, string descripcion)
        {
            string sCon = CadenaConexion();
            string sel;

            sel = "INSERT INTO " + NombreTabla + 
                "(Nombre, Apellidos, Email, Fecha, Descripcion) " + 
                "VALUES " + "(@Nombre, @Apellidos, @Email, @Fecha, @Descripcion) " + 
                "SELECT @@Identity";

            using(SqlConnection con = new SqlConnection(sCon))
            {
                SqlCommand cmd = new SqlCommand(sel, con);
                cmd.Parameters.AddWithValue("@Nombre", nombre);
                cmd.Parameters.AddWithValue("@Apellidos", apellidos);
                cmd.Parameters.AddWithValue("@Email", email);
                cmd.Parameters.AddWithValue("@Fecha", fecha);
                cmd.Parameters.AddWithValue("@Descripcion", descripcion);
                con.Open();
                int t = Convert.ToInt32(cmd.ExecuteScalar());
                con.Close();
                return t;
            }
        }

        public int InsertarAdapter(string nombre, 
            string apellidos, string email, 
            DateTime fecha, string descripcion)
        {
            string sCon = CadenaConexion();
            string sel;

            // Usando un DataAdapter
            sel = "SELECT * FROM " + NombreTabla;
            SqlDataAdapter da = new SqlDataAdapter(sel, sCon);
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
            DataTable dt = new DataTable();

            da.Fill(dt);

            DataRow dr = dt.NewRow();
            dr["Nombre"] = nombre;
            dr["Apellidos"] = apellidos;
            dr["Email"] = email;
            dr["Fecha"] = fecha.ToString("dd/MM/yyyy");
            dr["Descripcion"] = descripcion;

            dt.Rows.Add(dr);

            da.Update(dt);

            return Convert.ToInt32(dr["ID"]);
        }

        public void Eliminar(int id)
        {
            string sCon = CadenaConexion();
            string sel = "DELETE FROM " + NombreTabla + " WHERE ID = @ID";

            using(SqlConnection con = new SqlConnection(sCon))
            {
                SqlCommand cmd = new SqlCommand(sel, con);
                cmd.Parameters.AddWithValue("@ID", id);

                con.Open();

                cmd.ExecuteNonQuery();

                con.Close();
            }
        }

        public void Actualizar(int id, string nombre, 
            string apellidos, string email, DateTime fecha)
        {
            string sCon = CadenaConexion();
            string sel;

            sel = "UPDATE " + NombreTabla + 
                " SET Nombre = @Nombre, Apellidos = @Apellidos, Email = @Email, Fecha = @Fecha" + 
                " WHERE ID = @ID";

            using(SqlConnection con = new SqlConnection(sCon))
            {
                SqlCommand cmd = new SqlCommand(sel, con);
                cmd.Parameters.AddWithValue("@ID", id);
                cmd.Parameters.AddWithValue("@Nombre", nombre);
                cmd.Parameters.AddWithValue("@Apellidos", apellidos);
                cmd.Parameters.AddWithValue("@Email", email);
                cmd.Parameters.AddWithValue("@Fecha", fecha);

                con.Open();
                int t = cmd.ExecuteNonQuery();
                con.Close();

                Console.WriteLine("Filas actualizadas: {0}", t);
            }
        }

        public int TotalRegistros()
        {
            string sCon = CadenaConexion();
            string sel = "SELECT COUNT(*) FROM " + NombreTabla;

            using(SqlConnection con = new SqlConnection(sCon))
            {
                SqlCommand cmd = new SqlCommand(sel, con);
                con.Open();

                int t = Convert.ToInt32(cmd.ExecuteScalar());

                con.Close();

                return t;
            }
        }
    }
}

 

Espero que te sea de utilidad y si quieres ver otros ejemplos del resto de comandos, puedes hacerlo desde:
Instrucciones SQL desde ADO.NET.

Nos vemos.
Guillermo

 


Espacios de nombres usados en el código de este artículo:

System.Data.SqlClient
 



 


La fecha/hora en el servidor es: 23/12/2024 20:48:54

La fecha actual GMT (UTC) es: 

©Guillermo 'guille' Som, 1996-2024