prueba 2?
This commit is contained in:
+105
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SQLite;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using compabetov2.database;
|
||||
|
||||
namespace compabetov2.database
|
||||
{
|
||||
internal class DAO
|
||||
{
|
||||
public static bool iniciarSesionDAO(String usuario, String contra)
|
||||
{
|
||||
var db_conexion = new Conexion();
|
||||
try
|
||||
{
|
||||
SQLiteConnection conexion = db_conexion.get_connection();
|
||||
conexion.Open();
|
||||
|
||||
string sql = "SELECT usuario, contra FROM Login WHERE usuario = @param0";
|
||||
SQLiteCommand command = new SQLiteCommand(sql, conexion);
|
||||
command.Parameters.AddWithValue($"@param{0}", usuario);
|
||||
SQLiteDataReader reader = command.ExecuteReader();
|
||||
|
||||
if (reader.HasRows)
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
if (reader["contra"].Equals(contra))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Usuario o contraseña incorrectos");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
MessageBox.Show("Usuario o contraseña incorrectos");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Usuario o contraseña incorrectos");
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
catch (SQLiteException ex)
|
||||
{
|
||||
if (ex.Message.Contains("no such table"))
|
||||
{
|
||||
crearDB();
|
||||
MessageBox.Show("La base de datos fue creada vuelva a intentar");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static void crearDB()
|
||||
{
|
||||
var db_conexion = new Conexion();
|
||||
try
|
||||
{
|
||||
SQLiteConnection conexion = db_conexion.get_connection();
|
||||
conexion.Open();
|
||||
string[] consultas = new string[]
|
||||
{
|
||||
"DROP TABLE IF EXISTS Empleado",
|
||||
"DROP TABLE IF EXISTS Login",
|
||||
|
||||
"CREATE TABLE Empleado (idempleado INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, "+
|
||||
"apellido TEXT, calle TEXT, fecha_contratacion TEXT, colonia TEXT, cp TEXT, no_ext TEXT" +
|
||||
"no_int TEXT, referencia TEXT, fecha_nac TEXT, telefono TEXT, activo INTEGER)",
|
||||
|
||||
"CREATE TABLE Login (idlogin INTEGER PRIMARY KEY AUTOINCREMENT, tipo TEXT, usuario TEXT, "+
|
||||
"contra TEXT, fk_idempleado INTEGER, FOREIGN KEY (fk_idempleado) REFERENCES Empleado (idempleado))",
|
||||
|
||||
"INSERT INTO Empleado ( nombre, apellido, calle, fecha_contratacion, colonia, cp, no_ext, referencia, fecha_nac, telefono, activo) VALUES('jefe', '', '', '', '', '', '', '', '', '', 0);",
|
||||
"INSERT INTO Login ( tipo, usuario, contra, fk_idempleado) VALUES('admin', 'admin', '12345', 1);"
|
||||
};
|
||||
|
||||
foreach (string consulta in consultas)
|
||||
{
|
||||
using (var comando = new SQLiteCommand(consulta, conexion))
|
||||
{
|
||||
comando.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user