You are on page 1of 9

Imports System.Data.

OleDb-- Representa una instrucción SQL o un procedimiento almacenado


que se van a ejecutar en un origen de datos
Imports System.Data.SqlClient---- El espacio de nombresSystem.Data.SqlClient es el
proveedor de datos .NET Framework para SQL Server.
Imports System.Windows.Forms--- contiene clases para crear aplicaciones basadas en
Windows.
Public Cnx As New OleDb.OleDbConnection---- Representa una conexión abierta a un origen
de datos.
ConnectionState-- Describe el estado actual de la conexión a un origen de datos.
Dt.Fill(Tb) Agrega o actualiza filas en un intervalo especificado en el DataSet que coincidan
con las de origen de datos utilizando el DataTable nombre.
DataGridView---- Muestra datos en una cuadrícula personalizable.
OleDbDataAdapter(Dt)----- Inicializa una nueva instancia de la clase OleDbDataAdapter.
DataSet(Ds) / DataSet()….Inicializa una nueva instancia de la clase DataSet.
Fill(DataSet)---- Agrega o actualiza filas en el DataSet.(Heredado de DbDataAdapter).
SqlDataAdapter-- Representa un conjunto de comandos de datos y una conexión a una base
de datos que se usan para rellenar DataSet y actualizar una base de datos de SQL Server.
NomGrid.DataSource = Ds----Obtiene la cadena de conexión que se usa para conectarse al
origen de datos
NomGrid.DataMember = NombreDt--- Obtiene o establece la lista especificada en
un DataSource .
Cmd.ExecuteNonQuery()---Ejecuta una instrucción de Transact-SQL en la conexión y devuelve
el número de filas afectadas.

Cmd.CommandText--- Obtiene o establece la instrucción de Transact-SQL, el nombre de tabla


o el procedimiento almacenado que se ejecutan en el origen de datos

OleDbCommand--- Representa una instrucción SQL o un procedimiento almacenado que se


van a ejecutar en un origen de datos.

OleDbConnection ---Representa una conexión abierta a un origen de datos.

OleDbDataReader----- Proporciona una manera de leer una secuencia de sólo avance de filas
de datos de un origen de datos. Esta clase no puede heredarse.
OleDbDataAdapter--- Representa un conjunto de comandos de datos y una conexión a una
base de datos que se usan para rellenar DataSet y actualizar el origen de datos

CODIGOSSS
EN EL MODULO
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Windows.Forms

Module Modulo
Public Cnx As New OleDb.OleDbConnection
Sub ConectaBD()
With Cnx
.ConnectionString = "Provider=SQLOLEDB;DATABASE=cetdi_peru;USER
ID=cetdi_mundial;PASSWORD=@Upa2018.;TIMEOUT=45;DATA
SOURCE=SQL2012.dbsqlserver.com,1288"
.Open()
End With
End Sub
Sub DesconectaBD()
If Cnx.State = ConnectionState.Open Then Cnx.Close()
End Sub

Public Sub CargaCombo(ByVal NomTabla As String, ByVal Combo As ComboBox, ByVal


NCampo As Integer)
Dim x As Integer
Dim Dt As OleDbDataAdapter
Dim Tb As New DataTable

Dt = New OleDbDataAdapter("SELECT * FROM " & NomTabla, Cnx)


Dt.Fill(Tb)
For x = 0 To Tb.Rows.Count - 1
Combo.Items.Add(Tb.Rows(x).Item(NCampo))
Next
End Sub

Sub LlenarGrid(ByVal NomGrid As DataGridView, ByVal NomTabla As String, ByVal NombreDt


As String)
Dim Dt As OleDbDataAdapter
Dim Ds As New DataSet
Dt = New OleDbDataAdapter("SELECT * FROM " & NomTabla, Cnx)
Dt.Fill(Ds, NombreDt)
NomGrid.DataSource = Ds
NomGrid.DataMember = NombreDt
End Sub

Sub GrabarAlumno(ByVal Dni As String, ByVal APaterno As String, ByVal AMaterno As String,
ByVal Nombre01 As String, ByVal Nombre02 As String, ByVal Sexo As String, ByVal
FechaNacimiento As String, ByVal CodLugarNacimiento As String, ByVal CodCarrera As
String, ByVal Ciclo As Integer, ByVal Grupo As String, ByVal Pension As String, ByVal Estado
As String)
Dim Cmd As New OleDbCommand
Cmd.CommandText = "INSERT INTO Alumnos VALUES('" & Dni & "','" & APaterno & "','" &
AMaterno & "','" & Nombre01 & "','" & Nombre02 & "','" & Sexo & "','" & FechaNacimiento & "','"
& CodLugarNacimiento & "','" & CodCarrera & "','" & Ciclo & "','" & Grupo & "','" & Pension & "','"
& Estado & "')"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub ModificaAlumno(ByVal Dni As String, ByVal APaterno As String, ByVal AMaterno As


String, ByVal Nombre01 As String, ByVal Nombre02 As String, ByVal Sexo As String, ByVal
FechaNacimiento As Date, ByVal CodLugarNacimiento As String, ByVal CodCarrera As String,
ByVal Ciclo As String, ByVal Grupo As String, ByVal Pension As Integer, ByVal Estado As
String)
Dim Cmd As New OleDbCommand
Cmd.CommandText = "UPDATE Alumnos SET Dni='" & Dni & "', APaterno='" & APaterno &
"',AMaterno='" & AMaterno & "',Nombre01='" & Nombre01 & "',Nombre02='" & Nombre02 &
"',Sexo='" & Sexo & "',FechaNacimiento='" & FechaNacimiento & "',CodLugarNacimiento='" &
CodLugarNacimiento & "',CodCarrera='" & CodCarrera & "',Ciclo='" & Ciclo & "',Grupo='" &
Grupo & "',Estado='" & Estado & "' WHERE Dni='" & Dni & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub EliminaAlumno(ByVal Dni As String)


Dim Cmd As New OleDbCommand
Cmd.CommandText = "DELETE FROM Alumnos WHERE Dni='" & Dni & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub GrabarCarrera(ByVal Nombre As String, ByVal Estado As String)


Dim Cmd As New OleDbCommand
Cmd.CommandText = "INSERT INTO Carreras VALUES('" & Nombre & "','" & Estado & "')"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub
Sub ModificaCarrera(ByVal Codigo As String, ByVal Nombre As String, ByVal Estado As String)
Dim Cmd As New OleDbCommand
Cmd.CommandText = "UPDATE Carreras SET Nombre='" & Nombre & "',Estado='" & Estado &
"' WHERE Codigo='" & Codigo & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub EliminaCarrera(ByVal Codigo As String)


Dim Cmd As New OleDbCommand
Cmd.CommandText = "DELETE FROM Carreras WHERE Codigo='" & Codigo & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub GrabarLugar(ByVal Nombre As String, ByVal Estado As String)


Dim Cmd As New OleDbCommand
Cmd.CommandText = "INSERT INTO Lugares VALUES('" & Nombre & "','" & Estado & "')"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub ModificaLugar(ByVal codigo As String, ByVal Nombre As String, ByVal Estado As String)
Dim Cmd As New OleDbCommand
Cmd.CommandText = "UPDATE Lugares SET Nombre='" & Nombre & "',Estado='" & Estado &
"' WHERE Codigo='" & Codigo & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub EliminaLugar(ByVal Codigo As String)


Dim Cmd As New OleDbCommand
Cmd.CommandText = "DELETE FROM Lugares WHERE Codigo='" & Codigo & "'"
Cmd.Connection = Cnx
Cmd.ExecuteNonQuery()
End Sub

Sub ConsultaGrid(ByVal NomGrid As DataGridView, ByVal NomTabla As String, ByVal


NombreDt As String, ByVal NomCampo As String, ByVal Dato As String)
Dim Dt As OleDbDataAdapter
Dim Ds As New DataSet
Dt = New OleDbDataAdapter("SELECT * FROM " & NomTabla & " WHERE " & NomCampo & "
LIKE '" & Dato & "%'", Cnx)
Dt.Fill(Ds, NombreDt)
NomGrid.DataSource = Ds
NomGrid.DataMember = NombreDt
End Sub
End Module

SELECT DISTINCT PAIS FROM TBPELICULA ORDER BY PAIS


UPDATE TBPELICULA SET codpais =1 where pais ='Argentina'
UPDATE TBPELICULA SET codpais =2 where pais ='Bolivia'

-------------------------------------…..
CODIGO PARA INGRESAR SOLO LETRAS
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If

CODIGO VALIDAR DNI


Dim dtalumn As OleDbDataAdapter
Dim tbalum As New DataTable

dtalumn = New OleDbDataAdapter("select * from Alumnos where dni='" & Me.txtdni.Text & "'",
Modulo.Cnx)
dtalumn.Fill(tbalum)
If tbalum.Rows.Count > 0 Then
MsgBox("ya existe el alumno con Dni " & Me.txtdni.Text, 0, "aviso")
Me.txtdni.Text = ""
Exit Sub

End If
If Asc(e.KeyChar) = 13 Then
txtapaterno.Focus()
End If
End Sub
CODIGO EN EL FORMULARIO
Imports System.Data.OleDb
Imports System.Data.SqlClient

Public Class frm_Mantenimiento_Alumno


Dim Sw As Integer

Sub Cajas(ByVal Estado As Boolean)


Me.txtdni.Enabled = Estado
Me.txtapaterno.Enabled = Estado
Me.txtamaterno.Enabled = Estado
End Sub

Sub Botones(ByVal Estado As Boolean)


Me.BtnNuevo.Enabled = Estado
Me.BtnGuardar.Enabled = Not Estado
Me.BtnCancelar.Enabled = Not Estado
Me.BtnEditar.Enabled = Estado
Me.BtnEliminar.Enabled = Estado
Me.BtnSalir.Enabled = Estado
End Sub

Sub Limpiar()
Me.txtdni.Text = ""
Me.txtapaterno.Text = ""
Me.txtamaterno.Text = ""
End Sub

Sub Mostrar()
Dim DtAlum As OleDbDataAdapter
Dim TbAlum As New DataTable

DtAlum = New OleDbDataAdapter("SELECT * FROM Alumnos_V WHERE Dni='" &


Me.DGVALUMNO.Rows(DGVALUMNO.CurrentRow.Index).Cells(0).Value & "'", Modulo.Cnx)
DtAlum.Fill(TbAlum)
If TbAlum.Rows.Count > 0 Then
Me.txtdni.Text = TbAlum.Rows(0).Item(0)
Me.txtapaterno.Text = TbAlum.Rows(0).Item(1)
Me.txtamaterno.Text = TbAlum.Rows(0).Item(2)
End If
End Sub
Private Sub frm_Mantenimiento_Alumno_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Modulo.ConectaBD()
Modulo.LlenarGrid(Me.DGVALUMNO, "Alumnos_V", "Alumnos_V")
Mostrar()
Botones(True)
Cajas(False)
End Sub
Private Sub DGVALUMNO_Click(sender As Object, e As EventArgs) Handles
DGVALUMNO.Click
Mostrar()
End Sub
Private Sub btnnuevo_Click(sender As Object, e As EventArgs) Handles btnnuevo.Click
Sw = 1
Limpiar()
Cajas(True)
Botones(False)
End Sub

Private Sub btnguardar_Click(sender As Object, e As EventArgs) Handles btnguardar.Click


Dim R As Integer

If Me.txtdni.Text = "" Then


MsgBox("ESCRIBA EL NUMERO DE DNI", 0, "AVISO DNI")
Me.txtdni.Focus()
Exit Sub
End If

If Sw = 1 Then
R = MsgBox("Grabar Datos", 4 + 32 + 256, "Registrar")
If R = 6 Then
GrabarAlumno(Me.txtdni.Text, Me.txtapaterno.Text, Me.txtamaterno.Text, Me.txtnom1.Text,
Me.txtnom2.Text, Me.TxtSexo.Text, Format(Me.DTPFecha.Value, "yyyy/MM/dd"),
Me.LblCodlu.Text, Me.lblcodcar.Text, Me.txtciclo.Text, Me.txtciclo.Text, Me.txtpension.Text,
Me.cboestado.Text)
End If
Else
R = MsgBox("Actualizar Datos", 4 + 32 + 256, "Registrar")
If R = 6 Then
ModificaAlumno(Me.txtdni.Text, Me.txtapaterno.Text, Me.txtamaterno.Text, Me.txtnom1.Text,
Me.txtnom2.Text, Me.TxtSexo.Text, Format(Me.DTPFecha.Value, "yyyy/MM/dd"),
Me.LblCodlu.Text, Me.lblcodcar.Text, Me.txtciclo.Text, Me.txtciclo.Text, Me.txtpension.Text,
Me.cboestado.Text)
End If
End If
Cajas(False)
Botones(True)
Mostrar()
Modulo.LlenarGrid(Me.DGVALUMNO, "Alumnos_V", "Alumnos_V")
End Sub
Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles btncancelar.Click
Cajas(False)
Botones(True)
Mostrar()
End Sub

Private Sub BtnEditar_Click(sender As Object, e As EventArgs) Handles btneditar.Click


Sw = 0
Cajas(True)
Botones(False)
End Sub

Private Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles btneliminar.Click


Dim R As Byte
R = MsgBox("Borrar Registro", 4 + 32 + 256, "Eliminar")
If R = 6 Then
EliminaAlumno(Me.txtdni.Text)
End If
Cajas(False)
Botones(True)
Modulo.LlenarGrid(Me.DGVALUMNO, "Alumnos_V", "Alumnos_V")
Mostrar()
End Sub

Private Sub BtnSalir_Click(sender As Object, e As EventArgs) Handles btnsalir.Click


DesconectaBD()
Me.Close()
End Sub
Private Sub BtnAgregarlugar_Click(sender As Object, e As EventArgs) Handles
BtnAgregarlugar.Click
ALugar.Show()
End Sub

Private Sub btnagregarcarrera_Click(sender As Object, e As EventArgs) Handles


btnagregarcarrera.Click
Acarrera.Show()
End Sub

Private Sub DTPFecha_ValueChanged(sender As Object, e As EventArgs) Handles


DTPFecha.ValueChanged
Format(DTPFecha.Value, "yyyy/mm/dd")
End Sub

Private Sub TxtDato_TextChanged(sender As Object, e As EventArgs) Handles


TxtDato.TextChanged
Modulo.ConsultaGrid(Me.DGVALUMNO, "Alumnos", "Alumnos", "APaterno", Me.TxtDato.Text)
End Sub
End Class
Use Instituto
Go

/* 1° Seleccionar a los alumnos de Windows Server 2000 con sus Respectivos


Promedios, pero que pertenezcan al Grupo de la Noche (...NA) */
SELECT Nombres, Apellidos,Nomcurso,(UF_1+UF_2+UF_3+UF_4)/4 AS [PROM]
FROM Alumno,Curso,Nota
WHERE Alumno.idalumno = nota.idalumno and curso.idcurso=nota.idcurso
And nomcurso='SQL Server-2000'

/* 2° Seleccionar la Cantidad de Cursos por Cada Alumno */


SELECT Idalumno,COUNT (*) AS Cantidad
FROM Nota
Group by Idalumno

/* 3° Seleccionar la Cantidad de Profesores que dictan Cursos */


SELECT Idcurso,COUNT (*) AS Cantidad
FROM Profesor
Group by Idcurso

/* 4° Seleccionar a los Alumnos desaprobados e Indicando el Curso */


SELECT Nombres,apellidos,nomcurso
FROM Alumno a,curso c,nota n
where n.idcurso=c.idcurso and n.idalumno=a.idalumno
and (UF_1+UF_2+UF_3 +UF_4)/4< 10.5

/* 5° Seleccionar a los Alumnos que pertenecen a los grupos que han iniciado en el
2° Trimestre del año 2003 */
select nombres,apellidos,f_inicio=2003
from alumno,grupo

/* 6° Seleccionar a los Alumnos que han salido desaprobados en los cursos que han
llevado mostrando el curso y su promedio */
select Nombres, Apellidos,Nomcurso,(UF_1+UF_2+UF_3+UF_4)/4 AS [PROM]
from alumno,curso,nota
where ((UF_1+UF_2+UF_3+UF_4)/4)<12 and alumno.idalumno=nota.idalumno
and curso.idcurso=nota.idcurso

/* 7° Seleccionar a los profesores que tengan menos de 2 años de contratación */


SELECT Nomprof,Fcontrato
FROM Profesor
WHERE YEAR(Fcontrato)>2002

/* 8° Seleccionar a los Alumnos Cuyos Apllidos inicien ya sea


con la letra P o con C */
SELECT Nombres
from Alumno
WHERE Nombres LIKE 'C%' OR Nombres LIKE 'P%'

/* 9° Seleccionar a los Alumnos cuya Ciudad inicien desde la letra 'A' hasta 'C'
SELECT Nombres,ciudad
FROM Alumno
WHERE Nombres LIKE 'A%' OR Ciudad LIKE 'B%' OR Nombres LIKE'P%'

/* 10° Seleccionar a los profesores que sean del Nivel B2, especificando el Curso
que Dictan */
SELECT Nomprof,Nomnivel,Nomcurso
FROM Profesor P,nivel N,Curso C
WHERE P.Idnivel=N.Idnivel AND P.Idcurso=C.Idcurso
AND Nomnivel='Nivel B2'
/* 11° Teniendo en cuenta que las unidades formativas UF_2 y UF_4 tienen peso 2,
seleccionar a los alumnos con sus nuevos promedios en los cursos llevados. Al
Finalizar totalizar los promedios . */
SELECT Nombres,(UF_1+(UF_2*2)+UF_3+(UF_4*2))/4 AS [NUEVOS_PROMEDIOS]
FROM Nota,Alumno

/* 12° Seleccionar a los Alumnos con una observación que indique si empezaron en
el mes de Abril o en el mes de Junio.*/
SELECT Nombres,f_inicio
FROM grupo, Alumno
WHERE MONTH(F_inicio)=4
--por separado ejecutar
SELECT Nombres,f_inicio
FROM grupo,alumno
WHERE MONTH(F_inicio)=6

/* 13° Seleccionar la Cantidad de Alumnos Masculinos Existentes */


SELECT Nombres
FROM Alumno
WHERE sexo='M'

/* 14° Seleccionar a los Alumnos que pertenecen a los grupos que terminan en el
segundo Trimestre del año 2004 */
select nombres from grupo,alumno
where grupo.idalumno=alumno.idalumno
and year (f_termino)=2004 or month(f_termino)=9

SELECT Nombres, F_inicio,F_termino FROM Alumno A , grupo G


WHERE A.Idalumno=G.Idalumno AND
YEAR (F_termino)=2004

/* 15° Seleccionar a los profesores mostrando el nombre del mes en que fueron
contratados y el año de Contatación */
select Nomprof,month(Fcontrato)as MES,year(Fcontrato)as AÑO
from Profesor GO

/* 16° Seleccionar a los Alumnos con sus respectivas edades y un mensaje que indique
si cumplió ya los 20 años, o aún no cumple, o ya paso de los 20 años de edad */
select nombres,f_nac
from alumno
where f_nac>=20

/* 18° Seleccionar a los Alumnos mostrando su fecha de inicio de su grupo


aumentado en 15 días. */
SELECT Nombres, F_ing+ 15 AS [FECHA SUMADA]
FROM ALUMNO

USE [DiazCruz..2]GO
SELECT profesion,COUNT(profesion) AS [NUMERO POR profesion] FROM cllientes_v
group by profesion

--QUIERO SABER CUANTO LE TENGO Q PAGAR A CADA MODELO DE CELULAR(DEPARTAMENTO)


SELECT departamento,SUM(SUELDO) AS TOTal from clientes_v group by departamento

--MOSTRAR LA CANTIDAD SUMA Y PROMEDIO SE SUELDOS X DEPARTAMENTO Y PROFESION


SELECT departamento,profesion,count(*) as cantidad ,sum(sueldo) as
total,avg(SUELDO) AS pROMEDIO from clientes_v
group by departamento,profesion ORDER BY departamento,profesion

---MOSTRAR LOS 10 CLIENTES mas viejitos....EN MI CASO TRABAJARE CON CELULARES


SELECT TOP(2000)* FROM VISTA_EDAD ORDER BY EDAD DESC

You might also like