Buscar este blog

martes, 11 de febrero de 2014

Examen Final Programacion Visual. Crear la base de datos ventas. VB.NET 2012 - 2013

Crear la base de datos ventas.
Crear la tabla productos (codpro, nompro, precio). 
Programe un formulario para agregar producto considerando que no podrá haber dos registros del mismo producto (del nombre del producto).

Script de la Base de Datos en Sql Server.
USE [master]
GO
CREATE DATABASE [VENTASS]
GO
USE [VENTASS]
GO
CREATE TABLE [dbo].[PRODUCTOS](
[CODPRO] [nchar](10) NOT NULL,
[NOMPRO] [nvarchar](50) NULL,
[PRECIO] [decimal](18, 2) NULL,
CONSTRAINT [PK_PRODUCTOS] PRIMARY KEY CLUSTERED
(
[CODPRO] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

INSERT [dbo].[PRODUCTOS] ([CODPRO], [NOMPRO], [PRECIO]) VALUES (N'COD01 ', N'TV', CAST(123.00 AS Decimal(18, 2)))
USE [master]
GO
ALTER DATABASE [VENTASS] SET READ_WRITE
GO
Programa:
 
Imports System.Data.SqlClient

Public Class Programa_4

Dim CONEXION As New SqlConnection("Data Source=.;Initial Catalog=VENTASS;Integrated Security =True")

Private Sub btnGuardar_Click(sender As System.Object, e As System.EventArgs) Handles btnGuardar.Click
If TextBox2.Text.Length = 0 Then
MessageBox.Show("Ingrese nombre de producto ...")
TextBox2.Focus()
ElseIf TextBox3.Text.Length = 0 Then
MessageBox.Show("Ingrese precio de producto ...")
TextBox3.Focus()
Else
Dim COMANDO As New SqlCommand("INSERT INTO PRODUCTOS VALUES(@CODPRO,@NOMPRO,@PRECIO) ", CONEXION)
COMANDO.CommandType = CommandType.Text
COMANDO.Parameters.AddWithValue("@CODPRO", TextBox1.Text)
COMANDO.Parameters.AddWithValue("@NOMPRO", TextBox2.Text)
COMANDO.Parameters.AddWithValue("@PRECIO", TextBox3.Text)
Dim CONSULTA As New SqlDataAdapter("SELECT * FROM PRODUCTOS WHERE NOMPRO=@NOMPRO", CONEXION)
CONSULTA.SelectCommand.CommandType = CommandType.Text
CONSULTA.SelectCommand.Parameters.AddWithValue("@NOMPRO", TextBox2.Text)
Dim TABLA As New DataTable
CONSULTA.Fill(TABLA)
If TABLA.Rows.Count > 0 Then
MessageBox.Show("El nombre de producto ya existe...")
TextBox2.SelectAll()
TextBox2.Focus()
Exit Sub
End If
CONEXION.Open()
COMANDO.ExecuteNonQuery()
MessageBox.Show("DATOS GRABADOS CORRECATMENTE...")
Programa_4_Load(sender, e)
TextBox2.Focus()
CONEXION.Close()
End If
End Sub

Private Sub btnNuevo_Click(sender As System.Object, e As System.EventArgs) Handles btnNuevo.Click
For Each C As Control In Me.Controls
If TypeOf C Is TextBox Then
C.Text = ""
End If
Next
TextBox1.Focus()
End Sub

Private Sub SALIR_Click(sender As System.Object, e As System.EventArgs) Handles SALIR.Click
Me.Close()
End Sub

Private Sub Programa_4_Activated(sender As Object, e As System.EventArgs) Handles Me.Activated
TextBox2.Focus()
End Sub

Private Sub Programa_4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim CONSULTANUM As New SqlDataAdapter("SELECT * FROM PRODUCTOS", CONEXION)
CONSULTANUM.SelectCommand.CommandType = CommandType.Text
Dim TABLANUM As New DataTable
Dim NUMCOD As Integer = CONSULTANUM.Fill(TABLANUM) + 1
TextBox1.Text = "COD" & "0" & NUMCOD
End Sub

Private Sub TextBox2_Leave(sender As System.Object, e As System.EventArgs) Handles TextBox2.Leave
Dim CONSULTA As New SqlDataAdapter("SELECT * FROM PRODUCTOS WHERE NOMPRO=@NOMPRO", CONEXION)
CONSULTA.SelectCommand.CommandType = CommandType.Text
CONSULTA.SelectCommand.Parameters.AddWithValue("@NOMPRO", TextBox2.Text)
Dim TABLA As New DataTable
CONSULTA.Fill(TABLA)
If TABLA.Rows.Count > 0 Then
MessageBox.Show("El nombre de producto ya existe...")
TextBox2.SelectAll()
TextBox2.Focus()
End If
End Sub

Private Sub TextBox3_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
Dim numero As Decimal
Dim cadena As String = ""
Try
cadena = TextBox3.Text
numero = Convert.ToDecimal(e.KeyChar.ToString)
If Asc(e.KeyChar) <> 8 Then
If e.KeyChar <> "." Or e.KeyChar.Equals(vbBack) Then
e.Handled = True
Else
If (cadena.LastIndexOf(".") > 0) Then
e.Handled = True
End If
End If
End If
Catch ex As Exception
End Try
End Sub

End Class

1 comentario:

  1. me pasas el proyecto para entenderlo mejor ulisesautomatizacion@gmail.com

    ResponderEliminar