create database CIBERNET

GO
use CIBERNET
GO
SELECT * FROM ALUMNO
create table alumno(
codigo char (4) primary key not null,
nombre varchar (50)not null,
apellidos varchar (50)not null,
dni char (8)not null,
fechanac datetime)

go
USE master
SELECT * FROM syslanguages
SET LANGUAGE 'Español';

create table detalleExamen(
iddetexa char (8) primary key not null,
idtipo char (4) not null,
codigo char (4) not null,
nota numeric(4,2)not null)
GO
create table tipoexamen(
idtipo char (4) primary key not null,
descripcion varchar (100) not null,
abreviatura char(5))
GO
--creamos la relacion de las llaves foraneas
alter table detalleExamen add constraint fk1
foreign key (idtipo) references tipoexamen(idtipo)
GO
alter table detalleExamen add constraint fk2
foreign key (codigo) references alumno(codigo)
GO
--insertar valores
cREATE PROCEDURE ALTA_ALUMNOS(
@nombre varchar (100),
@apellidos varchar (100),
@dni char(8),
@fechanac datetime)

1.'GUTIERREZ PAREDES '.@nombre.'05/10/1955' EXEC ALTA_ALUMNOS 'PABLO'.'44444444'.'18/12/1998' GO CREATE PROCEDURE ALTA_TIPO( @IDTIPO CHAR(4).@fechanac) go EXEC ALTA_ALUMNOS 'JUAN'.'18/12/1998' EXEC ALTA_ALUMNOS 'JYADIRA'.'ROMERO HUERTAS'.'CARDOZO FERNANDEZ'.'55555555'.@dni.'88888888'.'PEREZ TORRES'.'18/12/1998' EXEC ALTA_ALUMNOS 'BRENDA'.'VILLALOBOS'.'96853624'.'12/09/1995' EXEC ALTA_ALUMNOS 'JUANA'. @DESCRIPCION VARCHAR (100).'11/01/1998' EXEC ALTA_ALUMNOS 'ARTURO'.3)+'A') SELECT @NUM end else set @num = '001A' insert into alumno values(@NUM.as if exists (select * from ALUMNO) begin declare @num varchar(9) set @num = (select max(substring(CODIGO.'03/09/1945' EXEC ALTA_ALUMNOS 'MARCOS'.'PEREZ GOICOCHEA'.'BOCANEGRA PEREZ'.3))+1 from ALUMNO) set @num = (right('000'+@num.'14258698'.'77777777'.'BRICEÑO VELAYARSE'.'99999999'.'02/01/1975' EXEC ALTA_ALUMNOS 'SANDRA'.@apellidos. .'22222222'.'25/11/1963' EXEC ALTA_ALUMNOS 'MARIANELA'.'11111111'.'SANDOVAL QUIROZ'.'18/12/1991' EXEC ALTA_ALUMNOS 'MARILU'.'ZAPATA HURTADO'.'33333333'.

'001A'.13 exec alta_detalle 'T005'.'001A'.@CODIGO.@idtipo.11 exec alta_detalle 'T002'.18 exec alta_detalle 'T003'.'SUSTI' GO CREATE PROCEDURE ALTA_DETALLE( @idtipo char (4).'003A'.'EXAMEN FINAL'.14 exec alta_detalle 'T004'.@DESCRIPCION.'EXAMEN DE UNIDAD III'.8 exec alta_detalle 'T005'.'EXAMEN SUSTITUTORIO'.11 exec alta_detalle 'T004'.'003A'.'FINAL' EXEC ALTA_TIPO 'T005'. @nota numeric(4.'EXAMEN DE UNIDAD I'.10 exec alta_detalle 'T002'.2) ) AS INSERT INTO detalleExamen VALUES (@idtipo+@CODIGO.'002A'.@ABREVIATURA CHAR(5)) AS INSERT INTO tipoexamen VALUES (@IDTIPO.'EXAMEN DE UNIDAD II'.'UNI' EXEC ALTA_TIPO 'T002'.'001A'.10 GO ---CONSULTA SELECT * FROM ALUMNO .'002A'.@NOTA) GO exec alta_detalle 'T001'.7 ---3 ALUMNO exec alta_detalle 'T001'.'002A'.5 --OTRO ALUMNO exec alta_detalle 'T001'.'UNII' EXEC ALTA_TIPO 'T003'.12 exec alta_detalle 'T004'.12. @codigo char (4).9.'UNIII' EXEC ALTA_TIPO 'T004'.'001A'.'003A'.'003A'.10 exec alta_detalle 'T005'.'002A'.9 exec alta_detalle 'T003'.5 exec alta_detalle 'T002'.@ABREVIATURA) GO EXEC ALTA_TIPO 'T001'.'003A'.11 exec alta_detalle 'T003'.'001A'.'002A'.

CODIGO FULL JOIN TIPOEXAMEN T ON D.APELLIDOS.CODIGO --CONSULTA PARA SELECCINAR APELLIDOS.D.NOTA.CODIGO -- SELECT A.NOTA FROM ALUMNO A INNER JOIN DETALLEEXAMEN D ON --(DONDE) A.NOMBRE.IDTIPO.D.CODIGO INNER JOIN TIPOEXAMEN T ON D.CODIGO=D.APELLIDOS.A.A.NOTA.D.IDTIPO --(FULL JOIN)OBLIGA A MOSTRAR LOS CAMPOS NO RELACIONADOS SELECT A.IDTIPO.IDTIPO=T.IDTIPO .T.DES CRIPCION FROM ALUMNO A INNER JOIN DETALLEEXAMEN D ON --(DONDE) A.DES CRIPCION FROM ALUMNO A FULL JOIN DETALLEEXAMEN D ON --(DONDE) A.T.SELECT * FROM DETALLEEXAMEN SELECT * FROM TIPOEXAMEN ---bucar por dni a un alumno select * from alumno where dni='77777777' ---QUIERO VER LOS ALUMNOS Y SUS RESPECTIVAS NOTAS SELECT * FROM ALUMNO A INNER JOIN DETALLEEXAMEN D ON --(DONDE) A.CODIGO=D.IDTIPO.NOTA SELECT A.NOMBRE.D.IDTIPO.CODIGO=D.NOMBRE.CODIGO=D.D.T.NOMBRES.T.A.APELLIDOS.IDTIPO=T.ABREVIATURA.D.ABREVIATURA.

"Alumno").BindingContext(dsalumno. cn) Dim dsalumno As New DataSet Dim cmd As SqlCommand Dim par As SqlParameter Dim edicion As Boolean Private Sub frmmantenimiento_Load(ByVal sender As System.Tables(0). ByVal e As System.EventArgs) Handles MyBase.KeyPreview = True contarRegistros() End Sub Sub llenarcajas() Dim posicion As Integer posicion = Me. Integrated Security = True") Dim da As New SqlDataAdapter("select * from alumno".SqlClient Public Class frmmantenimiento Public cn As New SqlConnection("server = (local)\sqlexpress.Data.Imports System.Load habilitarcajas(False) habilitarbotones(True) listarempleados() llenarcajas() Me.Object.Rows(posicion) .Position With dsalumno. database = CIBERNET.

Text = .Text = .ItemArray(4) End With DataGridView1.ItemArray(1) t3.ItemArray(2) t4.Text = . "Alumno").DataSource = dsalumno DataGridView1.Position + 1 totalreg = Me.Text = .Text = .Text = .ItemArray(3) t5.ItemArray(5) End With End Sub Sub listarempleados() dsalumno.Text = .ItemArray(3) t5.ItemArray(0) t2. totalreg As Integer posicion = Me.ItemArray(1) t3.Text = .ItemArray(4) ' t6.Fill(dsalumno.ItemArray(2) t4.CurrentCell.Text = .Text = .Clear() da.ItemArray(0) t2.Count lblreg.BindingContext(dsalumno.Text = "" End If Next End Sub Sub contarRegistros() Dim posicion.RowIndex) t1. t1. "Alumno").Text = .Text = posicion & " de " & totalreg .Tables(0). "Alumno") End Sub Sub limpiarcajas() Dim cajas As Control For Each cajas In Controls If TypeOf cajas Is TextBox Then cajas.BindingContext(dsalumno.DataMember = "Alumno" End Sub Sub llenardesdegrid() With dsalumno.Rows(DataGridView1.

Enabled = bo Me.Count .Enabled = bol End If Next End Sub Sub habilitarbotones(ByVal bo As Boolean) Me.Enabled = bo Me.Enabled = bo Me.Button4.Enabled = bo Me.Enabled = bo Me.1 If TypeOf Controls(x) Is TextBox Then Controls(x).Button9.Button6.Enabled = bo End Sub Sub nuevo() habilitarcajas(True) habilitarbotones(False) desplazar(False) edicion = False limpiarcajas() End Sub Sub editar() habilitarcajas(True) habilitarbotones(True) desplazar(False) edicion = True End Sub .Button2.Enabled = bo Me.End Sub Sub habilitarcajas(ByVal bol As Boolean) Dim x As Integer For x = 0 To Controls.Button5.Button1.Button7.Button8.Enabled = bo Me.Enabled = bo End Sub Sub desplazar(ByVal bo As Boolean) Me.Button3.

Add("@apellidos". SqlDbType.Value = nombre par = cmd.Input par. Private Sub DataGridView1_CurrentCellChanged(ByVal sender As Object. ByVal nombre As String. 100) par.Parameters.EventArgs) Handles DataGridView1. ByVal dni As String.Parameters. ByVal e As System. 100) par.Input par.Value = apellidos par = cmd.CurrentCellChanged llenardesdegrid() contarRegistros() End Sub Private Sub DataGridView1_Click(ByVal sender As Object. cn) cn.Add("@nombre". SqlDbType.Click llenardesdegrid() contarRegistros() End Sub Sub insertarempelado(ByVal codigo As String.NVarChar. ByVal apellidos As String.EventArgs) Handles DataGridView1.Direction = ParameterDirection. ByVal e As System.NVarChar.Value = dni . 5) par.Value = codigo par = cmd.Open() cmd.StoredProcedure par = cmd.Direction = ParameterDirection.Parameters.Input par.NVarChar.Direction = ParameterDirection.Input par. SqlDbType. 100) par. SqlDbType.CommandType = CommandType. ByVal fecha As Date) cmd = New SqlCommand("ALLTA_ALUMNOS".Add("@codigo".Direction = ParameterDirection.NVarChar.Add("@dni".Parameters.

Add("@fechanac".Value.Text.Value = fecha cmd. par = cmd.Parameters.EventArgs) Handles Button1.Text.DateTime. "dd/MM/yyyy")) End Sub Private Sub Button5_Click(ByVal sender As System. 100) par. Me.Date.Input par. Me. ByVal e As System.Text. Me.t2.ExecuteNonQuery() cn. Format(DateTimePicker1. "dd/MM/yy")) End Sub End Class .Object.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Direction = ParameterDirection.EventArgs) Handles Button5. ByVal e As System. SqlDbType.Object.Enabled = True End Sub Private Sub Button3_Click(ByVal sender As System.Text.Date.Value.t1.EventArgs) Handles Button3. ByVal e As System.Click MsgBox(Format(DateTimePicker1.Click habilitarcajas(False) habilitarbotones(True) desplazar(True) insertarempelado(Me.t4.Object.t3.Click nuevo() Button3.