Post on 25-Sep-2018
ANEXOS
ENCUESTA
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
Objetivo.
Recopilar información sobre la creación de un Sitio WEB que contribuya al mejoramiento
del seguimiento, evaluación y control de trabajos de investigación que realizan los
estudiantes de UNIANDES Tulcán.
Indicaciones.
La encuesta es anónima, la veracidad que la información que se brinde, puede de su
responsabilidad y honestidad.
Marque con una X la respuesta que usted considere más adecuada.
1. ¿La universidad cuenta con un sistema informático de seguimiento, evaluación y
control de trabajos de investigación?
Si
No
2. ¿Le gustaría que la universidad cuente con un sistema informático de seguimiento,
evaluación y control de trabajos de investigación?
Si
No
3. ¿Conoce usted de qué manera se realiza seguimiento, evaluación y control de
trabajos de investigación de UNIANDES Tulcán?
Si
No
4. El seguimiento, evaluación y control de las tutorías de trabajos de investigación de
la universidad es:
Excelente
Muy bueno
Buena
Regular
Mala
5. Al implementar un sistema informático se contribuye al mejoramiento del
seguimiento, evaluación y control de trabajos de investigación para la universidad
unidades Tulcán de manera:
Excelente
Muy bueno
Buena
Regular
Mala
6. ¿De su opinión sobre el manejo del seguimiento, evolución y control de trabajos de
investigación que se realiza en Uniandes Tulcán?
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………
ARTÍCULO
CIENTÍFICO
ARTÍCULO CIENTÍFICO
Título.
Sistema informático de seguimiento, evaluación y control de trabajos de
investigación de UNIANDES Tulcán.
Datos del autor.
Institución. Universidad Regional Autónoma de los Andes “Uniandes”
Faculta. Sistemas Mercantiles
Carrera. Sistemas
Autor. Kevin David Villacorte Rivadeneira
Mail. haroldtarupi@hotmail.com
Teléfono. 062985104
Fecha. 29/04/2015
Resumen ejecutivo.
La presente investigación denominada sistema informático de seguimiento,
evaluación y control de trabajos de investigación de UNIANDES Tulcán, buscó
determinar si existe satisfacción o no en la planificación, control y evaluación
diferentes trabajos de investigación para esto se partió de la introducción en donde
se da a conocer el objetivo general, la idea a defender y una recopilación de
información bibliográfica relacionada con el tema con la finalidad de explicar mejor lo
que significan los sistemas informáticos, el servicio de calidad a los usuarios, entre
otros, en función de teorías epistemológicas.
Además, contiene el material y los métodos, por lo que se explica una investigación
dirigida a los estudiantes y docentes de la institución. Con los resultados de dicha
investigación y la bibliografía consultada, se expresan los resultados obtenidos, los
cuales fortalecen la discusión, la que dicha de paso concluye en que el presente
trabajo de investigación sí soluciona los problemas presentados en la Universidad
Unidades extensión Tulcán y a más de eso puede servir para ser aplicado en otras
instituciones que atraviesen por esta problemática.
Palabras claves: Sistema Informático – Seguimiento, evaluación y control –
Trabajos de investigación – Estudiantes
Abstract
This research called computer system monitoring, evaluation and control of research
of UNIANDES Tulcan, sought to determine whether there is satisfaction or not in
planning, monitoring and evaluating different research for this was based on the
introduction where it is given meet the overall objective, the idea to defend and a
collection of bibliographic information related to the subject in order to better explain
what they mean computer systems, quality service to users, among others, according
to epistemological theories.
It also contains the material and methods, so an investigation aimed at students and
teachers of the institution explained. With the results of this investigation and the
literature, the results are expressed, which strengthen the argument, wherein said
step concludes that the present investigation itself solve the problems in the
University Extension Units Tulcán more than it can serve to be applied in other
institutions which are experiencing this problem.
Keywords: Computer System - Monitoring, evaluation and control - Research -
Students
Introducción
El Sistema Informático contribuye con el mejoramiento del seguimiento, evaluación y
control de trabajos de investigación que realizan los estudiantes de UNIANDES
Tulcán, dicho trabajo fue respaldado con investigaciones anteriores como la
realizada en la universidad central del Ecuador, con el tema “Análisis, diseño e
implementación del sistema de seguimiento, evaluación y control de las tutorías de
tesis para las direcciones de carrera de la facultad de ingeniería ciencias físicas y
matemática” (2013), con el propósito de mejorar el flujo de la información y agilitar el
proceso de seguimiento de las tutorías de tesis.
Esta investigación se realiza ya que en la actualidad a medida de que las
tecnológicas avanzan todo ámbito está siendo sistematizado, es por eso que en una
universidad cuente con una aplicación que permitan a los estudiantes que se
encargan de la realización de los trabajos de investigación puedan compartirlos a
través de la sistema informático, es así entonces, que al desarrollar una aplicación
que fortalezca el seguimiento, evaluación y control de trabajos de investigación es de
gran importancia para obtener mejores resultados en cuanto a los trabajos que se
desempeñan en la universidad por parte de los estudiantes de la institución.
Material y métodos
Para la elaboración de este trabajo, se utilizaron diferentes tipos de investigación
como son, Investigación Aplicada, Investigación de Campo, Investigación
Bibliográfica, Investigación Descriptiva e Investigación Correlacional, a fin de obtener
información precisa y relevante, debido a la naturaleza del tema, con el fin de
elaborar una propuesta de solución a la necesidad de disponer de un sistema
informático que agilice el seguimiento, evaluación y control de trabajos de
investigación que realizan los estudiantes de UNIANDES Tulcán.
La población tomada en cuenta para la recopilación de datos de la respectiva
investigación fueron los últimos semestres de las carreras de Sistemas, Contabilidad,
Enfermería y Derecho ya que están próximos a elaborar su trabajo de tesis y donde
se exponen nuevos y novedosos temas científicos.
Muestra. La cantidad de estudiantes de los 4 paralelos de los novenos semestres
que hacen parte de la universidad Uniandes extensión Tulcán no reúne una
población suficiente mayoritaria para tomar una muestra de ella, razón por la cual se
va a trabajar con todo el universo; es decir 50 estudiantes de la institución.
Entorno. La investigación se la realizó en las instalaciones de la Universidad
Regional Autónoma de los Andes “Uniandes” Extensión Tulcán, ubicada en el barrio
Santa Rosal de Taques.
Intervención. Las herramientas que se utilizó para el presente trabajo de tesis
fueron la encuesta, testimonios y solicitudes.
Resultados
En la investigación se aplicó una encuesta dirigida a estudiantes, para lo cual se tuvo
en cuenta dos preguntas que se considera las más relevantes, la primera para
constatar la aspiración por parte del estudiantes y docentes de la universidad
Uniandes, para que el seguimiento, evaluación y control sea ágil y oportuno y la
segunda, acerca de al implementar un sistema informático se contribuye al
mejoramiento del seguimiento, evaluación y control de trabajos de investigación,
cuya investigación arrojó los resultados que se detallan.
¿Le gustaría que la universidad cuente con un sistema informático de seguimiento,
evaluación y control de trabajos de investigación?
Tabla N° 19: Resultados de la pregunta 2.
Indicador Frecuencia Porcentaje
SI 48 96%
NO 2 4%
TOTAL 50 100%
Fuente: Investigación de Campo
Elaborado por: Kevin Villacorte
Interpretación: Se identifica que los estudiantes en su mayoría afirman que no existe
un sistema informático de seguimiento, evaluación y control de trabajos de
investigación de UNIANDES Tulcán, actualmente al no haber un control, no permite a
la autoridad tener un conocimiento exacto de la disponibilidad de recurso docente
que pueda ser asignado, lo que da muestras de no existe buena atención a los
estudiantes.
Al implementar un sistema informático se contribuye al mejoramiento del
seguimiento, evaluación y control de trabajos de investigación para la universidad
unidades Tulcán de manera:
Tabla N° 20: Resultados de la pregunta 5.
Indicador Frecuencia Porcentaje
Excelente 35 65%
Muy Bueno 10 25% Bueno 5 10%
Regular 0 0% Mala 0 0%
TOTAL 50 100%
Interpretación: Se identifica que los estudiantes están de acuerdo en que se
implemente un sistema informático en la universidad, para que se transforme la
calidad del seguimiento, evaluación y control de trabajos de investigación en la
Universidad Uniandes Tulcán.
Asimismo, después que se hizo el análisis del sistema, se diseñó, se implementó y
se realizaron las pruebas respectivas, para lo cual también se recibió el criterio de
tres expertos quienes de forma unánime se expresaron en base a los siguientes
parámetros, con los resultados respectivos:
Tabla N° 21: Resultados de la pregunta 5.
Nº Indicador de Calidad 4 3 2 1
1 Carácter Tecnológico X
Fuente: Investigación de Campo
Elaborado por: Kevin Villacorte
2 Efectividad. X
3 Novedad. X
4 Viabilidad para la aplicación práctica. X
5 Actualidad. X
Escala Valorativa: 4: Muy satisfactorio. 3: Satisfactorio.2: Poco satisfactorio.
1: No satisfactorio.
Discusión
Al analizar la pregunta planteada a inicio de la investigación: ¿Cómo contribuir al
mejoramiento del seguimiento, evaluación y control de trabajos de investigación que
realizan los estudiantes de UNIANDES Tulcán? Cabe manifestar que se cotejaron los
resultados de las encuestas dirigidas los estudiantes así como también la validación
por parte de los tres expertos y se ha verificado que la manera de contribuir al
mejoramiento del seguimiento, evaluación y control de trabajos de investigación, ha
sido implementando un sistema informático de seguimiento, evaluación y control de
trabajos de investigación de UNIANDES Tulcán.
Esto contrastando los trabajos realizados anteriormente en los cuales se expresan
definiendo las ventajas que puedan tener respecto a otras soluciones tecnológicas,
así como establecer los elementos ideales para desarrollar aplicaciones con esta
tecnología. Todo esto a partir del problema existente es decir; que no se contaba
con un sistema informático que permita el seguimiento, evaluación y control de
trabajos de investigación, lo que brindará un mejor servicio.
Conclusiones.
Los aspectos detallados anteriormente demuestran que el presente trabajo de
investigación sí soluciona los problemas presentados en la universidad Uniades
Tulcan, y a más de eso puede servir para ser aplicado en otras instituciones que
atraviesen por esta problemática.
Fuente: Investigación de Campo
Elaborado por: Kevin Villacorte
Mejoramiento en la agilidad del seguimiento, evaluación y control de trabajos de
investigación de UNIANDES Tulcán, permitiendo el fácil acceso a los resultados
y a las imágenes practicadas.
Bibliografía
Ernesto, Á. (2009). Métodos y técnicas de investigación. México: Trillas.
Roberto, H. (2010). Metodología de la investigación (Vol. 5ta ED). México:
McGraw Hill.
Rioja, R. G. (2010). Deontología informática. Madrid: GP. Printing.
Romero, G. (2014). Informática. Obteniendo de Wikipedia Enciclopedia Libre:
http://es.wikipedia.org/wiki/Inform%C3%Altica
Alfonso, G. (2010). Gestión de bases de datos. Madrid: Ra-Ma.
Historia de la informática. (2010). Obteniendo de Wordpress:
http://informatica4eso.files.wordpress.com/2010/11/historia-de-la-informatica.pdf.
MANUAL DE
USUARIO
Introducción
Propósito del Documento
El presente documento está dirigido a entregar las pautas de operación del sistema
informático de seguimiento, evaluación y control de trabajos de investigación de
UNIANDES Tulcán.
Dentro del manual que se describe se encuentra información con la que el
administrador podrá informarse y capacitarse sobre el manejo del nuevo sistema
informático, al que solo se puede acceder internamente en la universidad, para el
seguimiento, control y evolución de trabajas de investigación.
Guía de uso
Ventana de bienvenida.
En la siguiente imagen se observa la pantalla inicial del sistema en el cual da breves
indicaciones, en el área de inicio de cesión colocamos el usuario y claves asignados
por el administrador del sitio y damos clic en el botón de inicio de sesión.
Menú inicio.
En esta sección encontramos el menú principal del sistema el cual permite elegir el
modulo que el docente va a trabajar ejemplo. Ingreso de nuevo proyecto integrador,
ingreso de nueva tutoría de tesis. Etc.
Modulo investigación.
En este módulo encontramos los campos principales para almacenar un proyecto
integrador por el docente podemos observar que se requiere el ingreso del tema,
objetivo, seleccionar archivo para guardar en el sistema categorizado por carrera y
curso al finalizar el ingreso de los datos damos clic en el botón guardar registro.
En la parte inferior muestra una lista de los proyectos integradores almacenados
donde podemos editar o eliminar.
Módulo Tutorías.
En este módulo el docente registrara las tutorías de tesis realizadas a estudiantes
como campos principales tenemos, la fecha de revisión de la tutoría, fecha de
cumplimiento de esa actividad, el número de horas la línea de investigación de la
tesis cedula del estudiante y un resumen de las actividades del docente al finalizar el
ingreso de los datos damos clic en el botón guardar registro.
En la parte inferior muestra una lista de las tutorías almacenadas donde podemos
editar o eliminar.
Módulo vinculación.
Este módulo gestiona los proyectos de vinculación y los avances del mismo tiene dos
secciones en el lado izquierdo la sección de registro de proyecto y de lado derecho
registro de avances del proyecto como se muestra a continuación.
En la parte inferior muestra una lista de los proyectos vinculadores y registro de
proyectos almacenados.
MÓDULOS DE ADMINISTRACIÓN
En el menú principal del sistema al ingresar el administrador también cuenta con dos
módulos de registro y reportes.
Módulo de registro.
El siguiente menú permite registrar un nuevo docente y realizar la actualización de
claves, permite también el registro de estudiantes matriculados al sistema para las
tutorías.
En la parte inferior muestra una lista de docente y estudiantes almacenados en el
sistema.
MÓDULOS DE INFORMATIVOS
Módulo de Reportes
Este módulo permite al administrador tener un reporte de cada docente con las
actividades en proyectos de vinculación e integradores al igual que las tutorías de
tesis.
Módulo de Estudiantes.
Este módulo permite que los docentes impriman las plantillas de seguimiento de
tutorías para los estudiantes de las tesis.
Ejemplo de fichas a generar en este módulo.
Ficha de seguimiento y verificación de la elaboración de tesis de grado
Ficha de línea de investigación del perfil de trabajos de grado
Ficha de trabajo independiente
MANUAL
TÉCNICO
Introducción
Propósito del Documento
La finalidad de todo manual técnico es la de proveer al lector la lógica con la que se
desarrolló el sistema informático de seguimiento, evaluación y control de trabajos de
investigación de UNIANDES Tulcán, la cual se sabe que es propia de cada
programador y desarrollador; por lo que se considera necesario ser documentada.
Determinando que este manual no intenta ser un curso de aprendizaje de cada una
de las herramientas empleadas para el desarrollo del sitio, sino documentar su
aplicación en el desarrollo del sistema informático.
Dentro del manual que se describe se encuentra información con la que el
administrador podrá informarse y capacitarse sobre cómo se desarrolló el nuevo
sistema informático, al que solo se puede ser implantado interna y únicamente en la
universidad.
Manual técnico.
Clase de enlace a datos LINQ.net. que permite enlazar y realizar las consulta a
nuestra base de datos.
public class Conexion { private string cadena = "Data Source=KEVIN-PC;Initial Catalog=SISTUT;Integrated Security=True"; public SqlConnection cn; private SqlCommandBuilder cmb; public DataSet ds = new DataSet(); public SqlDataAdapter da; public SqlCommand comando; private void Conectar() { cn = new SqlConnection(cadena); } public Conexion() { Conectar(); } //metodo para consultas public void Consultar(string sql, string tabla) { ds.Tables.Clear(); da = new SqlDataAdapter(sql,cn); cmb = new SqlCommandBuilder(da); da.Fill(ds,tabla); } //Metodo de consulta de Usuarios public bool User(string name, string key) { cn.Open();
string sql = "SELECT Id_usradmin,Nameusr,Keyusr FROM T_admins WHERE Nameusr='" + name + "' and Keyusr ='" + key + "'"; comando = new SqlCommand(sql,cn); //int i = comando.ExecuteNonQuery(); int i = 0; SqlDataReader dr = comando.ExecuteReader(); while (dr.Read()) { i++; } if (i == 1) { cn.Close(); return true; } else { cn.Close(); return false; } } //metodo para eliminar public bool Eliminar(string tabla, string condicion) { cn.Open(); string sql = "delete from" + tabla + "where" + condicion; comando = new SqlCommand(sql,cn); int i = comando.ExecuteNonQuery(); cn.Close(); if (i > 0) { return true; } else { return false; } } //Metodo para actualizar public bool Actualizar(string tabla, string campos, string condicion) { cn.Open(); string sql = "update" + tabla + "set" + campos + "where" + condicion; comando = new SqlCommand(sql,cn); int i = comando.ExecuteNonQuery(); cn.Close(); if (i > 0) { return true; } else { return false; } } //Metodo de consulta con dataTable public DataTable Consultar2(string tabla) { string sql = "select"+tabla; da =new SqlDataAdapter(sql,cn); DataSet dts = new DataSet(); da.Fill(dts,tabla); DataTable dt = new DataTable(); dt=dts.Tables[tabla]; return dt; } //Metodo para insertar datos public bool Insertar(string sql) { cn.Open(); comando = new SqlCommand(sql,cn); int i = comando.ExecuteNonQuery(); cn.Close(); if (i > 0) { return true; } else { return false; }
}
Clase del formulario Principal.
Permite autentificar el inicio de sección con la validación de login a la base de datos.
public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { } string CiUsr; protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { Conexion cn1 = new Conexion(); bool Autenticado = false; Autenticado = cn1.User(Login1.UserName, Login1.Password); e.Authenticated = Autenticado; if (Autenticado == false) { Response.Redirect("Default.aspx"); } else { CiUsr = Login1.UserName; Response.Redirect("Menu.aspx?ciusr="+CiUsr); } }
<asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent"> <section class="featured"> <div class="content-wrapper"> <hgroup class="title"> <h1>Sistema de seguimiento de Tutorias<%: Title %></h1> </hgroup> <p> El sistema permite llevar un registro adecuado de tutorias........</p> </div> </section> </asp:Content> <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent"> <h3>Recomendamos lo siguiente:</h3> <ol class="round"> <li class="one"> <h5>Introducción</h5> El sistema de seguimiento de tutorias permite al docente llevar un registro por cada tutoria con los estudiantes, y tener un mejor seguimiento a la investigación realizada por el estudiante, el sistema consta de tres modulos, Docentes, Estudiantes, y Administración.</li> <li class="two"> <h5>Seguridad. <span class="auto-style1" style="font-size:10.0pt;line-height:115%;font-family:
/*"Segoe; UI","sans-serif"color:#333333*/ '/*"Segoe; UI"', sans-serif, 'color:#333333*/ '/*"Segoe; UI"'', sans-serif, color:#333333*/"> El sistema tiene una autentificación de usuario que permite solo acceder a lo que corresponde a cada docente, si se extravía la contraseña esta podrá ser reseteada por el administrador..</span></h5> </li> <li class="three"> <h5>Reportes.</h5> El sistema permite generar reportes de cada docente para la entrega final de terminación de tesis del estudiante.<a href="http://go.microsoft.com/fwlink/?LinkId=245143">…</a> <asp:Login ID="Login1" runat="server" Height="227px" Width="378px" DestinationPageUrl="~/Menu.aspx" OnAuthenticate="Login1_Authenticate" OnLoggedIn="Login1_LoggedIn"> </asp:Login> </li> </ol> <p> </p> <p> </p> </asp:Content> <asp:Content ID="Content1" runat="server" contentplaceholderid="HeadContent"> <style type="text/css"> .auto-style1 { font-weight: normal; } </style> </asp:Content>
Clase menú.
Permite el acceso de usuario registrado a los diferentes módulos a través del re
direccionamiento web.
public partial class Menu : System.Web.UI.Page { public string Ci = ""; public string CodDocen = ""; protected void Page_Load(object sender, EventArgs e) { Ci = Request.QueryString["CiUsr"]; lblUsuario.Text = Ci; string nametemp = docente(Ci); if ( nametemp!= null) { lblDocente.Text = nametemp; } else { Response.Redirect("Default.aspx"); } } Conexion c1 = new Conexion(); public string docente(string ced)
{ string nombre; string sql = "select * from T_docentes where Cedula='"+ced+"'"; c1.Consultar(sql, "T_docentes"); try { DataTable t1 = c1.ds.Tables["T_docentes"]; nombre = t1.Rows[0][2].ToString() + " " + t1.Rows[0][3].ToString(); CodDocen = t1.Rows[0][0].ToString(); return nombre; } catch (Exception) { nombre=null; return nombre; } } protected void ImageButton4_Click(object sender, ImageClickEventArgs e) { string CiUsuario = Ci; string Ndocente = lblDocente.Text; //Response.Redirect("Vinculacion.aspx"); Server.Transfer("Investigacion.aspx?=&CiUsuario=" + CiUsuario + "&Ndocente=" + Ndocente + "&CodDocen=" + CodDocen, true); } protected void ImageButton3_Click(object sender, ImageClickEventArgs e) { string CiUsuario = lblUsuario.Text; Server.Transfer("Vinculacion.aspx?ciusuario=" + CiUsuario, true); } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { Response.Redirect("registro.aspx",true); } protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { string CiUsuario = Ci; string Ndocente = lblDocente.Text; Response.Redirect("TutoriasTesis.aspx?=&CiUsuario=" + CiUsuario + "&Ndocente=" + Ndocente + "&CodDocen=" + CodDocen, true); } protected void ImageButton6_Click(object sender, ImageClickEventArgs e) { string CiUsuario = Ci; string Ndocente = lblDocente.Text; Response.Redirect("Reportes.aspx?=&CiUsuario=" + CiUsuario + "&Ndocente=" + Ndocente + "&CodDocen=" + CodDocen, true); }
<asp:Content ID="Content1" runat="server" contentplaceholderid="MainContent"> <strong>Bienvenido.</strong><asp:Label ID="lblUsuario" runat="server" Text="Usr."></asp:Label> <br /> <asp:Label ID="lblDocente" runat="server" Text="name"></asp:Label> <br /> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default.aspx">Cerrar Sesión.</asp:HyperLink> <br /> <br /> <br /> <asp:ImageButton ID="ImageButton4" runat="server" Height="58px" ImageUrl="~/Images/buttonInvestigacion.png" Width="244px" OnClick="ImageButton4_Click" /> <asp:ImageButton ID="ImageButton2" runat="server" Height="58px" ImageUrl="~/Images/buttonTutorias.png" Width="244px" OnClick="ImageButton2_Click" /> <asp:ImageButton ID="ImageButton3" runat="server" Height="55px" ImageUrl="~/Images/buttonVinculacion.png" Width="244px" OnClick="ImageButton3_Click" /> <br /> <br /> <asp:ImageButton ID="ImageButton5" runat="server" Height="58px" ImageUrl="~/Images/buttonEstudiantes.png" Width="244px" /> <asp:ImageButton ID="ImageButton1" runat="server" Height="58px" ImageAlign="Bottom" ImageUrl="~/Images/buttonRegistro.png" Width="244px" OnClick="ImageButton1_Click" /> <asp:ImageButton ID="ImageButton6" runat="server" Height="58px" ImageUrl="~/Images/buttonReportes.png" Width="244px" OnClick="ImageButton6_Click" /> <br /> <br /> </asp:Content>
Clase Registro.
Permite el registro a través de consultas tenemos a continuación el método principal
del registro.
public partial class registro : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void TxtCedula_TextChanged(object sender, EventArgs e) { } Conexion cn = new Conexion(); protected void Button1_Click(object sender, EventArgs e) {//Registro Docente a la base de datos Random r1 = new Random();
cn.Consultar("select Id_carrera,Nombre from T_carrera where Nombre='"+DropDownList1.Text+"'","T_carrera"); DataTable t1=cn.ds.Tables["T_carrera"]; string IdCarrera =t1.Rows[0][0].ToString(); //string sql = "insert into T_admins(Id_usradmin,Nameusr,Keyusr) values ('"+r1.Next(10,20000)+"','"+this.TextBox1.Text+"','"+this.TextBox2.Text+"')"; try { if (VerificaCedula(TxtCedula.Text)) { string sql = "insert into T_docentes(Id_docente,Cedula,Nombres,Apellidos,Id_carrera) values('" + r1.Next(10, 2000) + "','" + TxtCedula.Text + "','" + TxtNombres.Text + "','" + TxtApellidos.Text + "','" + IdCarrera + "')"; string sql1 = "insert into T_admins(Id_usradmin,Nameusr,Keyusr)values ('" + r1.Next(10, 2000) + "','" + TxtCedula.Text + "','" + TxtClave2.Text + "')"; cn.Insertar(sql); cn.Insertar(sql1); lblResult.Text = "Registro almacenado correctamente"; } else { lblResult.Text = "Valores ingresados son incorrectos verifique el numero de cedula"; } } catch (Exception) { throw; } } protected void Button2_Click(object sender, EventArgs e) { Random r1 = new Random(); cn.Consultar("select Id_carrera,Nombre from T_carrera where Nombre='" + DropDownList2.Text + "'", "T_carrera"); DataTable t1 = cn.ds.Tables["T_carrera"]; string Idcarrera= t1.Rows[0][0].ToString(); try { if (VerificaCedula(TxtCedulaEstudiante.Text)) { string sql = "insert into T_estudiante(Id_estudiante,Cedula,Nombres,Apellidos,Id_carrera) values('" + r1.Next(10, 2000) + "','" + TxtCedulaEstudiante.Text + "','" + TxtNombresEstudiantes.Text + "','" + TxtApellidosEstudiante.Text + "','" + Idcarrera + "')"; cn.Insertar(sql); Label1.Text = "Registro almacenado correctamente"; } else { Label1.Text = "Valores ingresados son incorrectos verifique el numero de cedula"; } } catch (Exception) { throw;
} } public bool VerificaCedula(String ced) { int isNumeric; var total = 0; const int tamanoLongitudCedula = 10; int[] coeficientes = { 2, 1, 2, 1, 2, 1, 2, 1, 2 }; const int numeroProvincias = 24; const int tercerDigito = 6; if (int.TryParse(ced, out isNumeric) && ced.Length == tamanoLongitudCedula) { var provincia = Convert.ToInt32(string.Concat(ced[0], ced[1], string.Empty)); var digitoTres = Convert.ToInt32(ced[2] + string.Empty); if ((provincia > 0 && provincia <= numeroProvincias) && digitoTres < tercerDigito) { var digitoVerificadorRecibido = Convert.ToInt32(ced[9] + string.Empty); for (var k = 0; k < coeficientes.Length; k++) { var valor = Convert.ToInt32(coeficientes[k] + string.Empty) * Convert.ToInt32(ced[k] + string.Empty); total = valor >= 10 ? total + (valor - 9) : total + valor; } var digitoVerificadorObtenido = total >= 10 ? (total % 10) != 0 ? 10 - (total % 10) : (total % 10) : total; return digitoVerificadorObtenido == digitoVerificadorRecibido; } return false; } return false; } <asp:Content ID="Content1" runat="server" contentplaceholderid="MainContent"> <asp:Panel ID="Panel1" runat="server" Height="451px" ScrollBars="Horizontal" Width="958px"> <table id="tblContorles" border="0" cellspacing:="1" width:="272"> <tr> <td colspan="3" width:="100%"><strong><span class="auto-style3">INGRESO DOCENTE</span></strong></td> <td colspan="3" width:="100%" class="auto-style3"><strong>INGRESO ESTUDIANTE</strong></td> </tr> <tr> <td class="auto-style1" width:="30%">Nombres</td> <td width:="40%">
<asp:TextBox ID="TxtNombres" runat="server" Width="250px" Style="text-transform: uppercase"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="ReqNombres" runat="server" ControlToValidate="TxtNombres" ErrorMessage="Debe escribir nombres" ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:RequiredFieldValidator> </td> <td width:="30%" class="auto-style2">Nombres</td> <td width:="30%"> <asp:TextBox ID="TxtNombresEstudiantes" runat="server" Width="250px" Style="text-transform: uppercase"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" ForeColor="Red" ControlToValidate="TxtNombresEstudiantes" Font-Bold="True" Font-Size="12pt" ValidationGroup="2">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td class="auto-style1" width:="30%">Apellidos</td> <td width:="40%"> <asp:TextBox ID="TxtApellidos" runat="server" Width="250px" Style="text-transform: uppercase"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="ReqApellidos" runat="server" ControlToValidate="TxtApellidos" ErrorMessage="Debe escribir apellidos" ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:RequiredFieldValidator> </td> <td width:="30%" class="auto-style2">Apellidos</td> <td width:="30%"> <asp:TextBox ID="TxtApellidosEstudiante" runat="server" Width="250px" Style="text-transform: uppercase"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator" ForeColor="Red" ControlToValidate="TxtApellidosEstudiante" Font-Bold="True" Font-Size="12pt" ValidationGroup="2">*</asp:RequiredFieldValidator> </td> </tr> <tr> <td class="auto-style1" width:="30%">Cedula</td> <td width:="40%"> <asp:TextBox ID="TxtCedula" runat="server" Width="250px" MaxLength="10" OnTextChanged="TxtCedula_TextChanged"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="ReqCedula" runat="server" ControlToValidate="TxtCedula" ErrorMessage="Debe escribir cedula" ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ControlToValidate="TxtCedula" ErrorMessage="*" Font-Size="8pt"
ForeColor="Red" ValidationExpression="^\d{10}$" ValidationGroup="1">Numero Incorrecto</asp:RegularExpressionValidator> </td> <td width:="30%" class="auto-style2">Cedula</td> <td width:="30%"> <asp:TextBox ID="TxtCedulaEstudiante" runat="server" Width="250px" MaxLength="10"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="RequiredFieldValidator" ForeColor="Red" ControlToValidate="TxtCedulaEstudiante" Font-Bold="True" Font-Size="12pt" ValidationGroup="2">*</asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TxtCedulaEstudiante" Font-Size="8pt" ForeColor="Red" ValidationExpression="^\d{10}$" ValidationGroup="2">Numero Incorrecto</asp:RegularExpressionValidator> </td> </tr> <tr> <td class="auto-style1" width:="30%">Clave Usuario</td> <td width:="40%"> <asp:TextBox ID="TxtClave1" runat="server" Width="250px"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="ReqClave1" runat="server" ControlToValidate="TxtClave1" ErrorMessage="Debe escribir contraseña" ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:RequiredFieldValidator> </td> <td width:="30%" class="auto-style2">Carrera</td> <td width:="30%"> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource2" DataTextField="Nombre" DataValueField="Nombre" Width="250px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:SISTUTConnectionString1 %>" SelectCommand="SELECT [Nombre], [Id_carrera] FROM [T_carrera]"></asp:SqlDataSource> </td> <td width:="30%"> </td> </tr> <tr> <td class="auto-style1" width:="30%">Repetir clave</td> <td width:="40%"> <asp:TextBox ID="TxtClave2" runat="server" Width="250px"></asp:TextBox> </td> <td width:="30%"> <asp:RequiredFieldValidator ID="ReqClave2" runat="server" ControlToValidate="TxtClave2" ErrorMessage="Repita Contraseña" ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:RequiredFieldValidator> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TxtClave1" ControlToValidate="TxtClave2" Display="Dynamic"
ErrorMessage="Contraseña diferente a la anterior." ForeColor="Red" CssClass="auto-style4" Font-Bold="True" Font-Size="12pt" ValidationGroup="1">*</asp:CompareValidator> </td> <td width:="30%"> </td> <td width:="30%"> <asp:Button ID="Button2" runat="server" Text="Registrar Estudiante" OnClick="Button2_Click" ValidationGroup="2" Width="153px" /> </td> <td width:="30%"> </td> </tr> <tr> <td class="auto-style1" width:="30%">Carrera</td> <td width:="40%"> <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Nombre" DataValueField="Nombre" Width="250px"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SISTUTConnectionString1 %>" SelectCommand="SELECT [Nombre], [Id_carrera] FROM [T_carrera]"></asp:SqlDataSource> </td> <td width:="30%"> </td> <td width:="30%"> </td> <td width:="30%"> <asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="Red" Text="Resultado"></asp:Label> </td> <td width:="30%"> </td> </tr> <tr> <td colspan="3" width:="30%"> <asp:Button ID="Button1" runat="server" Text="Registrar Docente" Width="179px" OnClick="Button1_Click" ValidationGroup="1" /> <br /> <asp:Label ID="lblResult" runat="server" Font-Bold="True" ForeColor="Red" Text="Resultado"></asp:Label> </td> <td colspan="3" width:="30%"> </tr> </table> <br /> <br /> <br /> <asp:Panel ID="Panel2" runat="server"> <div class="auto-style5"> <strong><span class="auto-style3">LISTA DOCENTES ACTUALIZAR-ELIMINAR INFORMACION</span></strong><br /> <br /> </div> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Id_docente" DataSourceID="SqlDataSource3" EmptyDataText="No hay registros de datos para mostrar." Height="288px" Width="944px"> <Columns> <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />
<asp:BoundField DataField="Id_docente" HeaderText="CODIGO" ReadOnly="True" SortExpression="Id_docente" /> <asp:BoundField DataField="Cedula" HeaderText="CEDULA" SortExpression="Cedula" /> <asp:BoundField DataField="Nombres" HeaderText="NOMBRES" SortExpression="Nombres" /> <asp:BoundField DataField="Apellidos" HeaderText="APELLIDOS" SortExpression="Apellidos" /> <asp:BoundField DataField="Id_carrera" HeaderText="CODIGO CARRERA" SortExpression="Id_carrera" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:SISTUTConnectionString1 %>" DeleteCommand="DELETE FROM [T_docentes] WHERE [Id_docente] = @Id_docente" InsertCommand="INSERT INTO [T_docentes] ([Id_docente], [Cedula], [Nombres], [Apellidos], [Id_carrera]) VALUES (@Id_docente, @Cedula, @Nombres, @Apellidos, @Id_carrera)" ProviderName="<%$ ConnectionStrings:SISTUTConnectionString1.ProviderName %>" SelectCommand="SELECT [Id_docente], [Cedula], [Nombres], [Apellidos], [Id_carrera] FROM [T_docentes]" UpdateCommand="UPDATE [T_docentes] SET [Cedula] = @Cedula, [Nombres] = @Nombres, [Apellidos] = @Apellidos, [Id_carrera] = @Id_carrera WHERE [Id_docente] = @Id_docente"> <DeleteParameters> <asp:Parameter Name="Id_docente" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Id_docente" Type="Int32" /> <asp:Parameter Name="Cedula" Type="String" /> <asp:Parameter Name="Nombres" Type="String" /> <asp:Parameter Name="Apellidos" Type="String" /> <asp:Parameter Name="Id_carrera" Type="Int32" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Cedula" Type="String" /> <asp:Parameter Name="Nombres" Type="String" /> <asp:Parameter Name="Apellidos" Type="String" /> <asp:Parameter Name="Id_carrera" Type="Int32" /> <asp:Parameter Name="Id_docente" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> <div class="auto-style6"> <br /> <strong><span class="auto-style3">LISTA ESTUDIANTES ACTUALIZAR-ELIMINAR INFORMACION</span></strong><asp:GridView ID="GridView2" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Id_estudiante" DataSourceID="SqlDataSource4" EmptyDataText="No hay registros de datos para mostrar." Width="944px"> <Columns> <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" /> <asp:BoundField DataField="Id_estudiante" HeaderText="CODIGO" ReadOnly="True" SortExpression="Id_estudiante" /> <asp:BoundField DataField="Cedula" HeaderText="CEDULA" SortExpression="Cedula" /> <asp:BoundField DataField="Nombres" HeaderText="NOMBRES" SortExpression="Nombres" /> <asp:BoundField DataField="Apellidos" HeaderText="APELLIDOS" SortExpression="Apellidos" />
<asp:BoundField DataField="Id_carrera" HeaderText="CODIGO CARRERA" SortExpression="Id_carrera" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:SISTUTConnectionString1 %>" DeleteCommand="DELETE FROM [T_estudiante] WHERE [Id_estudiante] = @Id_estudiante" InsertCommand="INSERT INTO [T_estudiante] ([Id_estudiante], [Cedula], [Nombres], [Apellidos], [Id_carrera]) VALUES (@Id_estudiante, @Cedula, @Nombres, @Apellidos, @Id_carrera)" ProviderName="<%$ ConnectionStrings:SISTUTConnectionString1.ProviderName %>" SelectCommand="SELECT [Id_estudiante], [Cedula], [Nombres], [Apellidos], [Id_carrera] FROM [T_estudiante]" UpdateCommand="UPDATE [T_estudiante] SET [Cedula] = @Cedula, [Nombres] = @Nombres, [Apellidos] = @Apellidos, [Id_carrera] = @Id_carrera WHERE [Id_estudiante] = @Id_estudiante"> <DeleteParameters> <asp:Parameter Name="Id_estudiante" Type="Int32" /> </DeleteParameters> <InsertParameters> <asp:Parameter Name="Id_estudiante" Type="Int32" /> <asp:Parameter Name="Cedula" Type="String" /> <asp:Parameter Name="Nombres" Type="String" /> <asp:Parameter Name="Apellidos" Type="String" /> <asp:Parameter Name="Id_carrera" Type="Int32" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="Cedula" Type="String" /> <asp:Parameter Name="Nombres" Type="String" /> <asp:Parameter Name="Apellidos" Type="String" /> <asp:Parameter Name="Id_carrera" Type="Int32" /> <asp:Parameter Name="Id_estudiante" Type="Int32" /> </UpdateParameters> </asp:SqlDataSource> <br /> <br /> <br /> </div> </asp:Panel> <br /> <br /> <br /> <br /> </asp:Panel> </asp:Content> <asp:Content ID="Content2" runat="server" contentplaceholderid="HeadContent">
Clase Tutoría.
Permite el almacenamiento a nuestra base de datos a través de la clase conexión,
observamos a continuación dichos métodos.
public partial class TutoriasTesis : System.Web.UI.Page { string idEstudiante = ""; string idDocente = ""; string ciDocente = ""; string nomDocente = ""; protected void Page_Load(object sender, EventArgs e) {
ciDocente = Request.QueryString["CiUsuario"]; nomDocente= Request.QueryString["Ndocente"]; idDocente = Request.QueryString["CodDocen"]; lblCiDocente.Text = ciDocente; lblNdocente.Text = nomDocente; lblCodDocente.Text = idDocente; //DropDownList1_TextChanged(null,null); } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { } Conexion co1 = new Conexion(); protected void Button1_Click(object sender, EventArgs e) { Random r1 = new Random(); //"insert into T_docentes(Id_docente,Cedula,Nombres,Apellidos,Id_carrera) //values('" + r1.Next(10, 2000) + "','" + TxtCedula.Text + "','" + TxtNombres.Text + "','" + TxtApellidos.Text + "','" + IdCarrera + "')"; idEstudiante = lblCodEstudiante.Text; try { string sql = "insert into T_tesis(Id_tesis,Fecharev,Capitulo,Tareas,N_horas,Fechacump,cumple,Id_estudiante,Tema,LineInv,Id_docente)values ('" + r1.Next(20, 2000) + "','" + TxtFechaRevicion.Text + "','" + DrpCapitulo.Text + "','" + TxtTareas.Text + "','" + DrpHoras.Text + "','" + TxtFechaCumpli.Text + "','" + DrpLogro.Text + "','" + idEstudiante + "','" + TxtTema.Text + "','" + TxtLineaInvestigacion.Text + "','" + idDocente + "')"; co1.Insertar(sql); ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('El registro se guardó correctamente');", true); } catch (Exception) { ScriptManager.RegisterStartupScript(this, this.GetType(), "alertIns", "alert('Error al guardar informacion revice los datos por favor');", true); } } protected void DropDownList1_TextChanged(object sender, EventArgs e) { string sql="select * from T_estudiante where Cedula='"+DrpCiEstudiante.Text+"'"; co1.Consultar(sql,"T_estudiante"); DataTable dt1=co1.ds.Tables["T_estudiante"]; lblNEstudiante.Text = dt1.Rows[0][2].ToString() + " " + dt1.Rows[0][3].ToString(); lblCodEstudiante.Text = dt1.Rows[0][0].ToString(); } }
Clase Vinculación.
En esta clase encontramos los métodos que permiten el registro de un proyecto de
vinculación.
public partial class Vinculacion : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } Conexion co1 = new Conexion(); protected void Button1_Click(object sender, EventArgs e) { Random r1 = new Random(); /*//Extraer datos de SqldataSource DataSourceSelectArguments args = new DataSourceSelectArguments(); DataView view = (DataView)SqlDataSource1.Select(args); DataTable dt = view.ToTable(); string idNivel=dt.Rows[0][1].ToString(); ///*/ co1.Consultar("select Id_carrera,Nombre from T_carrera where Nombre='" + DdlCarrera.Text + "'", "T_carrera"); DataTable t1 = co1.ds.Tables["T_carrera"]; string IdCarrera = t1.Rows[0][0].ToString(); try { string sql = "insert into T_Vinculacion(Id_vinculacion,Tema,FechaIni,FechaFin,Id_nivel,Id_carrera) values ('" + r1.Next(10, 20000) + "','" + this.TxtTema.Text + "','" + this.TxtFechaIn.Text + "','" + TxtFechaFin.Text + "','" + DdlNivel.Text + "','" + IdCarrera+ "')"; co1.Insertar(sql); lblProyecto.Text = "Se guardo corectamente el proyecto"; } catch (Exception) { lblProyecto.Text = "Error al guardar proyecto revice e intente otra vez"; } //if (co1.Insertar(sql)) { Label3.Text = "Datos Almacenados Exitosamente";} //else //{ Label3.Text = "Error en los Datos Revice!!"; } } protected void BtnRegistroActividad_Click(object sender, EventArgs e) { Random r1 = new Random(); co1.Consultar("select Id_vinculacion,Tema from T_Vinculacion where Tema='" + DropDownList2.Text + "'", "T_Vinculacion"); DataTable t1 = co1.ds.Tables["T_Vinculacion"]; string Idvinculacion = t1.Rows[0][0].ToString(); try { string sql = "insert into T_seguimiento(Id_seguimiento,Fdesde,Fhasta,Actividades,Responsables,Resultados,Id_vinculacion) values ('" + r1.Next(10, 20000) + "','" + this.TxtFechaInActividad.Text + "','"
+ this.TxtFechaFinActividad.Text + "','" + TxtActividad.Text + "','" + DropDownList1.Text + "','" + TxtResultados.Text + "','" + Idvinculacion + "')"; co1.Insertar(sql); lblSeguimiento.Text = "Registro almacenado con exito"; } catch (Exception) { lblSeguimiento.Text = "Error al guardar registro revice la información"; } } }