Manual Visual Basic .NET SQL Server Paso A Paso
Manual Visual Basic .NET SQL Server Paso A Paso
http://www.facebook.com/atacza
http://twitter.com/atak
Edición: ® 2009
Taller Programación Visual Basic.NET paso a paso 2009
1. Introducción
2. Herramientas Necesarias
5. Tablas
6. Procedimientos Almacenados
Introducción
A todos mis amigos que se inician en el fabuloso mundo del Desarrollo - de la Programación de
Aplicaciones como quieran decirlo; que me imagino tienen muchas dudas cuando inician un proyecto real, en
esta oportunidad quiero plasmar de manera detallada la secuencia, pasos que nos llevan a obtener un sistema
Nuestro sistema registrará a Contactos de Diferentes Carreras Profesionales, Países; los cuales los
tendremos registrados ante una necesidad de obtener sus datos, para hacerlo sencillo y ser comprensible
Espero que nos permita interactuar y sea este taller de su total satisfacción.
Atentamente,
Armando Tacza
Profesional IT – SystemTak
Noviembre - 2009
Herramientas Necesarias
Reiniciamos el Servicio de SQL Server ( Click >> Inicio>> Programas >> MS SQL Server >> Configuration tools >> SQL Server
Configuration Manager )
- Ahora si nuevamente nos loguearemos con el usuario sa y el password (inicio este es mi PASS)
Tablas:
tb_profesion
tb_pais
tb_contacto:
tb_usuario:
Procedimientos Almacenados
(Porciones de Código Reutilizable en el Servidor se programan a través del lenguaje Transact - SQL)
Borrar el código generado por la plantilla, enfocaremos Nuestro Procedimiento Almacenado a cuestiones muy
básicas con fines didácticos.
sp_tbPaisListar (Procedimiento que la usaremos para rellenar un lista de Países) >> En SQL Server Ejecutar
con F5 (ejecuta la consulta)
end
Click en Next
TextBox4
Name txtTelefono
TextBox5
Name txtCelular
TextBox6
Name txtEmail
ComboBox1
Name cboProfesion
ComboBox2
Name cboPais
Button1
Name btnFoto
PictureBox1
Name picFoto
Button2
Name btnNuevo
Button3
Name btnGrabar
Button4
Name btnModificar
Button5
Name btnEliminar
Button6
Name btnCancelar
Button7
Name btnListar
Button8
Name btnListar
DataGridView1
Name dtgDetalle
AllowUserToAddRows False
AllowUserToDeleteRows False
ReadOnly True
AllowUserToOrderColumns True
…
<connectionStrings>
<add name="sysAgenda.My.MySettings.cnnSysAgenda" connectionString="Data
Source=sistemas02\SQLEXPRESS;Initial Catalog=sysAgenda;User ID=sa;Password=inicio"
providerName="System.Data.SqlClient" />
</connectionStrings>
…
Clase: pais.vb (Encargada de Retornar una consulta desde SQL Server)
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Public Class pais
Public Shared Function paisListar() As DataTable
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbPaisListar", cn)
cmd.CommandType = CommandType.StoredProcedure
Try
Dim da As New SqlDataAdapter(cmd)
Dim tb As New DataTable
da.Fill(tb)
Return tb
da.Dispose()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Function
End Class
Clase: profesion.vb (Encargada de Retornar una consulta desde SQL Server)
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Public Class profesion
Public Shared Function profesionListar() As DataTable
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbProfesionListar", cn)
cmd.CommandType = CommandType.StoredProcedure
Try
Dim da As New SqlDataAdapter(cmd)
Dim tb As New DataTable
da.Fill(tb)
Return tb
da.Dispose()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Function
End Class
http://systemtak.blogspot.com [ 19 / 36 ] email: [email protected]
Taller Programación Visual Basic.NET paso a paso 2009
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Public Class usuario
Public Shared Function ExisteUsuario(ByVal xnick As String, ByVal xpass As
String) As Boolean
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbUsuarioBusca", cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@nick", xnick)
cmd.Parameters.AddWithValue("@pass", xpass)
Try
cn.Open()
Dim lector As SqlDataReader =
cmd.ExecuteReader(CommandBehavior.CloseConnection)
If lector.HasRows = True Then
Return True
Else
Return False
End If
lector.Close()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Function
End Class
as
set nocount on
select nick from tb_usuario order by nick
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.SqlClient
Public Class contacto
Public Shared Function contactoListar() As DataTable
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbContactoListar", cn)
cmd.CommandType = CommandType.StoredProcedure
Try
Dim da As New SqlDataAdapter(cmd)
Dim tb As New DataTable
da.Fill(tb)
Return tb
da.Dispose()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Function
cmd.Parameters.AddWithValue("@fotoContacto", xFotoContacto)
cmd.Parameters.AddWithValue("@codigoProfesion", xCodigoProfesion)
cmd.Parameters.AddWithValue("@codigoPais", xCodigoPais)
cmd.Parameters.AddWithValue("@nick", xnick)
Try
cn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Sub
Public Shared Sub contactoModificar(ByVal xCodigoContacto As Integer, ByVal
xNombreContacto As String, ByVal xDireccionContacto As String, ByVal
xTelefonocontacto As String, ByVal xCelularContacto As String, ByVal xEmailContacto
As String, ByVal xFechaRegistro As Date, ByVal xFotoContacto As String, ByVal
xCodigoProfesion As Integer, ByVal xCodigoPais As Integer, ByVal xnick As String)
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbContactoModificar", cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@codigoContacto", xCodigoContacto)
cmd.Parameters.AddWithValue("@nombreContacto", xNombreContacto)
cmd.Parameters.AddWithValue("@direccionContacto", xDireccionContacto)
cmd.Parameters.AddWithValue("@telefonoContacto", xTelefonoContacto)
cmd.Parameters.AddWithValue("@celularContacto", xCelularContacto)
cmd.Parameters.AddWithValue("@emailContacto", xEmailContacto)
cmd.Parameters.AddWithValue("@fechaRegistro", xFechaRegistro)
cmd.Parameters.AddWithValue("@fotoContacto", xFotoContacto)
cmd.Parameters.AddWithValue("@codigoProfesion", xCodigoProfesion)
cmd.Parameters.AddWithValue("@codigoPais", xCodigoPais)
cmd.Parameters.AddWithValue("@nick", xnick)
Try
cn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Sub
Public Shared Sub contactoEliminar(ByVal xCodigoContacto As Integer)
Dim cn As New SqlConnection(conexion.LeerCadenaConexion)
Dim cmd As New SqlCommand("sp_tbContactoEliminar", cn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@codigoContacto", xCodigoContacto)
Try
cn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Throw ex
Finally
cn.Dispose()
cmd.Dispose()
End Try
End Sub
Public Shared Function contactoListarPorPais(ByVal xCodigoPais As Integer) As
DataRow
End Class
Me.Hide()
'Llamamos al formulario principal MDI
Dim frmPrin As frmPrincipal
frmPrin = New frmPrincipal(Me.cboUsuario.SelectedValue.ToString())
frmPrin.Show()
Else
MessageBox.Show("Password Incorrecto", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
txtPassword.Focus()
End If
Else
MessageBox.Show("Ingrese Password", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
txtPassword.Focus()
End If
End Sub
End Class
Formulario: frmPrincipal (Formulario Principal del Sistema es un form MDI contiene el MENU y StatusStrip)
End Sub
Private Sub frmPrincipal_FormClosing(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
' esto permite que abandonar el sistema por completo
Application.Exit()
End Sub
Imports System.IO
Public Class frmContacto
'Variable que nos permite almacenar la ruta del archivo de imagen
'que será almacenado en la BD
Dim rutaFoto As String = ""
'El sistema Registra la fecha de Hoy como ingreso de Registro
Dim fecha As Date = Date.Now
'Variable que representa al usuario en linea
Dim vusuario As String
'Variable nos indica si el usuario quiere Grabar un
'Nuevo Registro o es una Modificacion
Dim vtemp As Integer = 0
' Constructor de la clase formulario (recibe como parametro el usuario en linea)
Public Sub New(ByVal xusuario As String)
InitializeComponent()
' muestra el usuario en linea .. Compre el eBook OnLine ahora!
'asignamos un valor
vusuario = xusuario
( [email protected] ) $ 6.00
End Sub
Sub New()
eBook + Código Fuente + Base de Datos
InitializeComponent()
http://systemtak.blogspot.com [ 25 / 36 ] email: [email protected]