Arduino - Blogger - Cinema 4D - Electrónica - Hardware - IPod Touch - Photoshop - Programación - Programas - Revisiones - Windows

Quitar la protección contra escritura a memorias USB, SD, Discos Duros

Tienen problemas con su memoria USB, SD o Disco Duro, no pueden copiarle archivos, bórralos o formatearlo, pues sus problemas se acabaron con este tutorial, es un procedimiento bastante sencillo que funciona con todos los dispositivos, en el tutorial les explico paso a paso todo el procedimiento necesario.

Aprender a Formatear cualquier Pc e instalar Windows [Curso]

En el curso se explica de manera clara y paso a paso todo lo que hay que tener en cuenta antes, durante y después de formatear una computadora, incluyendo ejemplos prácticos de todos los temas vistos.

Mostrando entradas con la etiqueta Base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Base de datos. Mostrar todas las entradas

24 de abril de 2017

Inicio de Sesión (Login) con C Sharp y SQL Server



















Un tutorial sobre cómo desarrollar una aplicación en Visual Studio con el lenguaje de programación C Sharp que permita iniciar sesión e identificar al tipo de usuario en una base de datos, utilizando el sistema de bases de datos Microsoft SQL Server.



Código Fuente 

Script Base de Datos
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
USE master
CREATE DATABASE escuela
GO
USE escuela
CREATE TABLE usuario
(
nombreUsuario nvarchar(20) PRIMARY KEY not null,
contrasena nvarchar(20) not null,
nombre nvarchar(50) not null,
apellidoPaterno nvarchar(50) not null,
apellidoMaterno nvarchar(50),
tipoUsuario nvarchar(20) not null
)
GO
INSERT INTO usuario VALUES('jesus', '123A', 'Jesús', 'Morales', 'Campos', 'Administrador')
INSERT INTO usuario VALUES('roberto', '123456', 'Roberto', 'Castro', 'Morales', 'Profesor')
GO

Clase BaseDatos.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Data.SqlClient;

namespace InicioSesion
{
    class BaseDatos
    {
        private string cadenaConexion = "Data Source=JEOVANI-PC; Initial Catalog=escuela; Integrated Security=true;";

        public static string nombreCompleto = "";
        public static string tipoUsuario = "";

        public Boolean iniciarSesion(string nomus, string con)
        {
            nombreCompleto = "";
            tipoUsuario = "";

            SqlConnection conexion = new SqlConnection(cadenaConexion);
            conexion.Open();

            SqlParameter parnomus = new SqlParameter("@nomus", nomus);
            SqlParameter parcon = new SqlParameter("@con", con);

            SqlCommand comando = new SqlCommand("SELECT nombre, apellidoPaterno, apellidoMaterno, tipoUsuario FROM usuario WHERE nombreUsuario = @nomus AND contrasena COLLATE Latin1_General_CS_AS = @con", conexion);
            comando.Parameters.Add(parnomus);
            comando.Parameters.Add(parcon);

            SqlDataReader lector = comando.ExecuteReader();
            while (lector.Read())
            {
                nombreCompleto = lector.GetString(0) + " " + lector.GetString(1) + " " + lector.GetString(2);
                tipoUsuario = lector.GetString(3);
            }

            lector.Close();
            conexion.Close();

            if (String.IsNullOrEmpty(tipoUsuario))
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
}

Form1.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace InicioSesion
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btiniciarsesion_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(tbnombreusuario.Text) && !String.IsNullOrEmpty(tbcontrasena.Text))
            {
                try
                {
                    BaseDatos bd = new BaseDatos();

                    Boolean res = bd.iniciarSesion(tbnombreusuario.Text, tbcontrasena.Text);

                    if (res)
                    {
                        Principal p = new Principal();
                        p.Show();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Datos Incorrectos");
                    }
                }
                catch
                {
                    MessageBox.Show("Error");
                }
            }
            else
            {
                MessageBox.Show("Complete los datos");
            }
        }
    }
}

Principal.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace InicioSesion
{
    public partial class Principal : Form
    {
        public Principal()
        {
            InitializeComponent();

            labelusuario.Text = BaseDatos.nombreCompleto;

            if (BaseDatos.tipoUsuario == "Administrador")
            {
                paneladministrador.Visible = true;
                panelprofesor.Visible = false;

            }
            else if (BaseDatos.tipoUsuario == "Profesor")
            {
                paneladministrador.Visible = false;
                panelprofesor.Visible = true;
            }

        }

        private void Principal_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
    }
}