' Module 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

SISTEMA DE EXAMEN

Se tiene los siguientes datos en Excel


NRO

NOMBRE
1 JUAN
2 PEDRO
3 LUCAS

NOTA
2
3
4

Elaborar un aplicacin que permita obtener las notas grabadas en Excel ey


crgalo a bases de datos sql server para trabajar en visual basic 2012
1. Leer los datos grabados en excel

'************* MODULE 1
Imports System.IO
Module Module1
Sub RecuperarMatriz(ByVal nombrearchivo As String, ByRef A(,) As String, ByRef
cabecera() As String, ByRef nf As Integer, ByVal nc As Integer)
Dim srLector As StreamReader
srLector = New StreamReader(nombrearchivo)
Dim fila As Integer = 0, col As Integer
Dim cadena As String = ""
Dim subcadena As String
Dim pos As Integer = 0
Dim inicio As Integer = 1
cadena = srLector.ReadLine()
cadena = cadena & Chr(9)
' cabeceras

inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
cabecera(col) = subcadena
inicio = pos + 1
Next
' la matrizec
fila = 0
cadena = srLector.ReadLine()
Do While Not (cadena Is Nothing)
cadena = cadena & Chr(9)
inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
A(fila, col) = subcadena
inicio = pos + 1
Next
fila = fila + 1
cadena = srLector.ReadLine()
Loop
nf = fila
Console.WriteLine("Archivo leido satisfactoriamente")
srLector.Close()
End Sub
End Module

Imports System.IO
Imports System.Data.SqlClient
Public Class Form1
Public NombreArchivo As String = "E:\DATOS\ALUMNOS1.TXT"
Public Const maxfilas As Integer = 4, maxcol As Integer = 3
Public Matriz(maxfilas, maxcol) As String
Public cabecera(maxcol) As String
Public nf As Integer = 14, nc As Integer = 3
Dim cadenaconexion As String = " Data
Source=(LocalDB)\v11.0;AttachDbFilename=E:\Datos\ALUMNOS.mdf;Integrated
Security=True;Connect Timeout=30"
Dim conn As SqlConnection = New SqlConnection(cadenaconexion)
Dim comando As SqlCommand = New SqlCommand("", conn)
Dim NombreTabla As String = "NOTASSI"
Dim cadena As String
Sub Mostrarencabezado(encabezado() As String)
DataGridView1.ColumnCount = nc
Dim col As Integer

For col = 0 To nc - 1
DataGridView1.Columns(col).HeaderText = encabezado(col)
Next
End Sub
Sub MostrarMatriz(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As Integer)
DataGridView1.RowCount = nf
Dim fila, col As Integer
For fila = 0 To nf - 1
For col = 0 To nc - 1
DataGridView1.Rows(fila).Cells(col).Value = A(fila, col)
Next
Next
End Sub
Private Sub recuperar_Click(sender As Object, e As EventArgs) Handles recuperar.Click
RecuperarMatriz(NombreArchivo, Matriz, cabecera, nf, nc)
Mostrarencabezado(cabecera)
MostrarMatriz(Matriz, nf, nc)
End Sub
Private Sub BtnCrearTabla_Click(sender As Object, e As EventArgs) Handles
BtnCrearTabla.Click
NombreTabla = InputBox("Ingrese nombre de la tabla", "nombre table", "alumnos")
Try
conn.Open()
cadena = "CREATE TABLE " & NombreTabla & "(Nro int,nombre varchar(50), nota
int,primary Key (nro))"
comando.CommandText = cadena
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click
Dim fila As Integer
Dim cadena1, nombre As String
Dim nro, nota As Integer
conn.Open()
Try
For fila = 0 To nf - 1
nro = CInt(Matriz(fila, 0))
nombre = Matriz(fila, 1)
nota = CInt(Matriz(fila, 2))
cadena1 = "INSERT INTO " & NombreTabla & " ( Nro, Nombre, nota) values (" & nro
& ",'" & nombre & "'," & nota & ")"
comando.CommandText = cadena1
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Next
Catch ex As Exception

MsgBox("error " & ex.Message)


Finally
conn.Close()
End Try
End Sub
Private Sub btnMostrar_Click(sender As Object, e As EventArgs) Handles btnMostrar.Click
Dim dst As New DataSet
cadena = "Select * From " & NombreTabla
Dim dap As New SqlDataAdapter(cadena, conn)
dap.Fill(dst, cadena)
DataGridView2.DataSource = dst.Tables(0)
End Sub
Private Sub btnEliminar_Click(sender As Object, e As EventArgs) Handles btnEliminar.Click
Dim cadena1 As String
conn.Open()
Try
cadena1 = "DELETE FROM " & NombreTabla
comando.CommandText = cadena1
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnGrabar_Click(sender As Object, e As EventArgs) Handles btnGrabar.Click
Dim fila, col As Integer
Dim nombrearchivo As String
SaveFileDialog1.ShowDialog()
nombrearchivo = SaveFileDialog1.FileName
Dim archivo As StreamWriter
archivo = New StreamWriter(nombrearchivo)
For col = 0 To nc - 1
archivo.Write("{0}{1} ", DataGridView2.Columns(col).HeaderText, vbTab)
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
archivo.Write("{0}{1} ", DataGridView2.Rows(fila).Cells(col).Value, vbTab)
Next
archivo.WriteLine()
Next
archivo.Close()
End Sub
End Class

Parte 2

'************* MODULE 1
Imports System.IO
Imports System.Data.SqlClient
Module Module1
Public NombreArchivo As String = "E:\DATOS\ALUMNOS1.TXT"
Public ArchivoConsultas As String = "E:\DATOS\CONSULTA1.TXT"
Public Const maxfilas As Integer = 4, maxcol As Integer = 4
Public Matriz(maxfilas, maxcol) As String
Public MatrizConsultas(maxfilas, maxcol) As String
Public cabecera(maxcol) As String
Public cabConsultas(maxcol) As String
Public nfc As Integer = 3 ' nro de consultas
Public ncc As Integer = 4 'nro de columnas de consultas
Public nf As Integer = 14, nc As Integer = 3
Public cadenaconexion As String = " Data
Source=(LocalDB)\v11.0;AttachDbFilename=E:\Datos\ALUMNOS.mdf;Integrated
Security=True;Connect Timeout=30"
Public conn As SqlConnection = New SqlConnection(cadenaconexion)
Public comando As SqlCommand = New SqlCommand("", conn)
Public comando1 As SqlCommand = New SqlCommand("", conn)
Public NombreTabla As String = "NOTASSI"
Public NombreTablaConsulta As String = "Consultas"
Public cadena As String
Sub RecuperarMatriz(ByVal nombrearchivo As String, ByRef A(,) As String, ByRef
cabecera() As String, ByRef nf As Integer, ByVal nc As Integer)
Dim srLector As StreamReader
srLector = New StreamReader(nombrearchivo)
Dim fila As Integer = 0, col As Integer
Dim cadena As String = ""
Dim subcadena As String
Dim pos As Integer = 0
Dim inicio As Integer = 1
cadena = srLector.ReadLine()

cadena = cadena & Chr(9)


' cabeceras
inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
cabecera(col) = subcadena
inicio = pos + 1
Next
' la matrizec
fila = 0
cadena = srLector.ReadLine()
Do While Not (cadena Is Nothing)
cadena = cadena & Chr(9)
inicio = 1
For col = 0 To nc - 1
pos = InStr(inicio, cadena, Chr(9))
subcadena = Mid(cadena, inicio, pos - inicio)
A(fila, col) = subcadena
inicio = pos + 1
Next
fila = fila + 1
cadena = srLector.ReadLine()
Loop
nf = fila
Console.WriteLine("Archivo leido satisfactoriamente")
srLector.Close()
End Sub
End Module
Imports System.IO
Imports System.Data.SqlClient
Public Class Form1
Sub Mostrarencabezado(encabezado() As String, nc As Integer)
DataGridView1.ColumnCount = nc
Dim col As Integer
For col = 0 To nc - 1
DataGridView1.Columns(col).HeaderText = encabezado(col)
Next
End Sub
Sub MostrarMatriz(ByVal A(,) As String, ByVal nf As Integer, ByVal nc As Integer)
DataGridView1.RowCount = nf
Dim fila, col As Integer
For fila = 0 To nf - 1
For col = 0 To nc - 1
DataGridView1.Rows(fila).Cells(col).Value = A(fila, col)
Next
Next

End Sub
Private Sub recuperar_Click(sender As Object, e As EventArgs) Handles recuperar.Click
RecuperarMatriz(NombreArchivo, Matriz, cabecera, nf, nc)
Mostrarencabezado(cabecera, nc)
MostrarMatriz(Matriz, nf, nc)
End Sub
Private Sub BtnCrearTabla_Click(sender As Object, e As EventArgs) Handles
BtnCrearTabla.Click
NombreTabla = InputBox("Ingrese nombre de la tabla", "nombre table", "alumnos")
Try
conn.Open()
cadena = "CREATE TABLE " & NombreTabla & "(Nro int,nombre varchar(50), nota
int,primary Key (nro))"
comando.CommandText = cadena
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click
Dim fila As Integer
Dim cadena1, nombre As String
Dim nro, nota As Integer
conn.Open()
Try
For fila = 0 To nf - 1
nro = CInt(Matriz(fila, 0))
nombre = Matriz(fila, 1)
nota = CInt(Matriz(fila, 2))
cadena1 = "INSERT INTO " & NombreTabla & " ( Nro, Nombre, nota) values (" & nro
& ",'" & nombre & "'," & nota & ")"
comando.CommandText = cadena1
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Next
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnMostrar_Click(sender As Object, e As EventArgs) Handles btnMostrar.Click
Dim dst As New DataSet
cadena = "Select * From " & NombreTabla
Dim dap As New SqlDataAdapter(cadena, conn)
dap.Fill(dst, cadena)
DataGridView2.DataSource = dst.Tables(0)

End Sub
Private Sub btnEliminar_Click(sender As Object, e As EventArgs) Handles btnEliminar.Click
Dim cadena1 As String
conn.Open()
Try
cadena1 = "DELETE FROM " & NombreTabla
comando.CommandText = cadena1
Console.WriteLine("Ejecutando sentencia {0}", comando.CommandText)
comando.ExecuteNonQuery()
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnGrabar_Click(sender As Object, e As EventArgs) Handles btnGrabar.Click
Dim fila, col As Integer
Dim nombrearchivo As String
SaveFileDialog1.ShowDialog()
nombrearchivo = SaveFileDialog1.FileName
Dim archivo As StreamWriter
archivo = New StreamWriter(nombrearchivo)
For col = 0 To nc - 1
archivo.Write("{0}{1} ", DataGridView2.Columns(col).HeaderText, vbTab)
Next
For fila = 0 To nf - 1
For col = 0 To nc - 1
archivo.Write("{0}{1} ", DataGridView2.Rows(fila).Cells(col).Value, vbTab)
Next
archivo.WriteLine()
Next
archivo.Close()
End Sub
Private Sub BtnRecConsultas_Click(sender As Object, e As EventArgs) Handles
BtnRecConsultas.Click
RecuperarMatriz(ArchivoConsultas, MatrizConsultas, cabConsultas, nfc, ncc)
Mostrarencabezado(cabConsultas, ncc)
MostrarMatriz(MatrizConsultas, nfc, ncc)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub BtnVerConsultas_Click(sender As Object, e As EventArgs) Handles
BtnVerConsultas.Click
CONSULTAS.Show()
End Sub

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


btnCrearConsulta.Click
NombreTabla = InputBox("Ingrese nombre de la tabla", "nombre table", "Consultas")
Try
conn.Open()
cadena = "CREATE TABLE " & NombreTabla & "(Nro int,Consulta varchar(50),
parametro varchar(20)," _
& "SentenciaSQL varchar (50), primary Key (nro))"
comando1.CommandText = cadena
Console.WriteLine("Ejecutando sentencia {0}", comando1.CommandText)
comando1.ExecuteNonQuery()
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally
conn.Close()
End Try
End Sub
Private Sub btnConsultas_Click(sender As Object, e As EventArgs) Handles
btnConsultas.Click
Dim dst1 As New DataSet
Dim NombreTabla As String = "Consultas"
cadena = "Select * From " & NombreTabla
Dim dap1 As New SqlDataAdapter(cadena, conn)
dap1.Fill(dst1, cadena)
DataGridView2.DataSource = dst1.Tables(0)
End Sub
Private Sub btnAgregarConsulta_Click(sender As Object, e As EventArgs) Handles
btnAgregarConsulta.Click
Dim fila As Integer
Dim cadena1 As String
Dim nro As Integer
Dim Consulta, parametro, SentenciaSQL As String
conn.Open()
Try
For fila = 0 To nfc - 1
nro = CInt(MatrizConsultas(fila, 0))
Consulta = MatrizConsultas(fila, 1)
parametro = MatrizConsultas(fila, 2)
SentenciaSQL = MatrizConsultas(fila, 3)
cadena1 = "INSERT INTO " & NombreTablaConsulta & _
" ( Nro, Consulta, parametro,SentenciaSQL) values (" & _
nro & ",'" & Consulta & "','" & parametro & "','" & SentenciaSQL & "')"
comando1.CommandText = cadena1
Console.WriteLine("Ejecutando sentencia {0}", comando1.CommandText)
comando1.ExecuteNonQuery()
Next
Catch ex As Exception
MsgBox("error " & ex.Message)
Finally

conn.Close()
End Try
End Sub
Private Sub btnRecuperarConsultas_Click(sender As Object, e As EventArgs) Handles
btnRecuperarConsultas.Click
RecuperarMatriz(ArchivoConsultas, MatrizConsultas, cabConsultas, nfc, ncc)
Mostrarencabezado(cabConsultas, ncc)
MostrarMatriz(MatrizConsultas, nfc, ncc)
End Sub
End Class

Para reemplazar cadena


Parametron cadena
O entero

Module Module1
Sub Main()

Dim cadena1 As String = "Select * from ALUMNOS WHERE NOMBRER LIKE *** "
Console.WriteLine(cadena1)
Dim cadena2 As String = "Juan"
cadena2 = "'" & cadena2 & "'"
cadena1 = Replace(cadena1, "***", cadena2)
Console.WriteLine(cadena1)

Console.ReadLine()
End Sub
End Module

You might also like