sábado, 15 de junio de 2013

Guardar un registro en asp.net

Guardar un registro en asp.net
By Diógenes Amaury MS

Saludos amigo@s

Hoy veremos como guardar un registro desde asp.net, para ello utilizaremos a sql server 2008 como manejador de base de datos.

Primero debemos crear una base de datos que en mi caso la nombre ControlEstudiante, una tabla llamada Estudiantes con la siguiente estructura:

       [MATEST] [varchar](15) NOT NULL
[NOMEST] [varchar](50) NULL
[APEEST] [varchar](50) NULL
[DIREST] [varchar](100) NULL





Como pueden observar en la gráfica anterior tenemos creada la interfaz con los siguientes textbox:
txtmatest
txtnomest
txtapeest
txtdirest

Ahora vamos a la propiedad Enabled de cada uno de los objetos y la cambiamos a false.
Para hacer esto simplemente seleccione el objeto y valla a la ventana de propiedades, en caso de que no este disponible pulse la tecla F4.

En el botón Nuevo agregue el siguiente código:
        Session("esnuevo") = "si"
        txtmatest.Enabled = True
        txtnomest.Enabled = True
        txtapeest.Enabled = True
        txtdirest.Enabled = True

Lo que hicimos fue declarar una variable de sesión para controlar luego si insertamos o actualizamos el registro.

agregamos la instancia con la base de datos que deseamos trabajar, para nuestro ejempoo es sql server.

Imports System.Data
Imports System.Data.SqlClient

Declaramos la conexion a la base de datos.

 Dim conexion As New SqlConnection("Data Source=USER-PC\SQLEXPRESS;Initial Catalog=ControlEstudiante;Integrated Security=True")

En el botón guardar declaramos el siguiente código.

 Dim QUERY As String
 If Session("esnuevo") = "si" Then
            QUERY = "INSERT INTO ESTUDIANTES (MATEST,NOMEST,APEEST,DIREST)" & _
                "VALUES(" & Val(txtmatest.Text) & ",'" & _
                txtnomest.Text & "','" & _
                 txtapeest.Text & "','" & _
                 txtdirest.Text & "')"
 Else
          QUERY = "UPDATE  ESTUDIANTES SET NOMEST ='" & txtnomest.Text & "', APEEST ='" & txtapeest.Text & "', DIREST = '" & txtdirest.Text & "' WHERE  MATEST LIKE '" & txtmatest.Text & "'"
        End If
        conexion.Open()
        Dim cmd1 As New SqlCommand()
        cmd1.Connection = conexion
        cmd1.CommandType =
        cmd1.CommandText = QUERY

        cmd1.ExecuteNonQuery()
        conexion.Close()
        'txtmatest.Enabled = False
        'txtnomest.Enabled = False
        'txtapeest.Enabled = False
        'txtdirest.Enabled = False
        Session("esnuevo") = "NO"





Noten que utilizamos  Session("esnuevo") para determinar si insertamos o actualizamos el registro, luego utilizamos la variable QUERY que será alimentada dependiendo del valor Session("esnuevo").
SqlCommand se encarga de ejecutar dicha sentencia sql.

hasta la próxima.








2 comentarios:

  1. Hola Diogenes:

    FAvor verificar el valor que debe llevar la línea: cmd1.CommandType =

    No tiene ningún valor después del signo de =

    Un saludo

    ResponderEliminar
  2. cmd1.CommandType =cmd1.Text
    Para tu caso, esta parte no es necesaria, ahora si vas atrabajar con stored procedure si, ya que esta sentencia indica el tipo comando que va a ejcutar.
    puede ser un strin, un sp, o una tabla directa.
    Saludos.

    ResponderEliminar