Anda di halaman 1dari 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

Anda mungkin juga menyukai