elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Insertar datos en la base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Insertar datos en la base de datos  (Leído 4,361 veces)
andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Insertar datos en la base de datos
« en: 26 Febrero 2012, 20:09 pm »

hola a todos, estoy realizando una aplicación en la cual quiero insertar registros en la base de datos, insertarlo me lo inserta bien, pero el iconveniente esta en que al lado de los textbox de insertar tengo un DataGrid en el cual tengo la tabla y no me muestra el registro que he insertado al pulsar el botón de insertar.

que tengo que hacer para actualizar la tabla???

aqui os dejo el codigo que he realizado:

Código
  1. Private Sub btn_Insertar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Insertar.Click
  2.        Dim nombre, dni As String
  3.        Dim edad As Double
  4.  
  5.        For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1
  6.            nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0)
  7.            dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1)
  8.            edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2)
  9.  
  10.  
  11.            ' si el dni que quiero insertar ya esta en la tabla muestra un error
  12.            If txt_DNI.Text = dni Then
  13.                MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
  14.                Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad)
  15.                Exit Sub
  16.            Else
  17.                ' en caso contrario lo inserta
  18.                Try
  19.                    Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text)
  20.                    Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad)
  21.                    Exit Try
  22.                Catch ex As Exception
  23.  
  24.                End Try
  25.  
  26.                MessageBox.Show("Usuario insertado correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information)
  27.                Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad)
  28.                Exit For
  29.            End If
  30.        Next
  31.  
  32.        Me.Validate()
  33.        Me.Usuarios2BindingSource.EndEdit()
  34.        Me.TableAdapterManager.UpdateAll(Me.Bd_pruebaDataSet1)
  35.  
  36.    End Sub
  37.  

Espero que me puedan ayudar,

Saludos


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Insertar datos en la base de datos
« Respuesta #1 en: 26 Febrero 2012, 23:33 pm »

no trabajo con datagrid, pero con actualizar o hacer un refresh al datasource que tiene asignado ese datagrid te tendria que mostrar el registro nuevo.


En línea

andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: Insertar datos en la base de datos
« Respuesta #2 en: 27 Febrero 2012, 10:55 am »

Bueno no es un datagrid creado por mi, es al arrastrar la tabla al formulario para que me muestre los datos que se han insertado en esa tabla lo que quiero que se me actualice.

Saludos
En línea

abel_c_b

Desconectado Desconectado

Mensajes: 91



Ver Perfil
Re: Insertar datos en la base de datos
« Respuesta #3 en: 27 Febrero 2012, 18:20 pm »

Hola, tal y como dice Sebas, debes refrescar el datagrid; una función para ello es:

DataGrid1.ResetBindings()

Saludos
En línea

andaluz


Desconectado Desconectado

Mensajes: 333



Ver Perfil
Re: Insertar datos en la base de datos
« Respuesta #4 en: 27 Febrero 2012, 18:23 pm »

vale ya lo he conseguido.

lo que no comprendo es porque utilizando ese codigo, me inserta usuarios con el mismo dni, cuando me deberia de dar error al comprobar que el dni que introduzco ya existe en la base de datos.

Código
  1. For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1
  2.                nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0)
  3.                dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1)
  4.                edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2)
  5.                ' si el dni que quiero insertar ya esta en la tabla muestra un error
  6.                If txt_DNI.Text = dni Then
  7.                    MessageBox.Show("txt_dni: " & txt_DNI.Text & "DNI: " & dni)
  8.                    MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
  9.                    Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad)
  10.                    Exit Sub
  11.                Else
  12.                    ' inserto el usuario en la base de datos
  13.                    Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text)
  14.                End If
  15. Next
  16.  

gracias por tu aportacion abel_c_b

Saludos
« Última modificación: 27 Febrero 2012, 18:26 pm por andaluz » En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Insertar datos en la base de datos
« Respuesta #5 en: 27 Febrero 2012, 21:12 pm »

la logica del codigo esta mal, por ejemplo si tengo 3 DNI en la base, supongamos los numeros:

1, 2 y 3

supongamos que yo quiero ingresar el 2 (que ya existe), me deberia decir que ya existe, pero ahi en ese codigo lo que hace es recorrer secuencialmente cada uno, y cuando este recorriendo el primer registro, me va a comparar el 2 con el 1, y como no es igual me lo va a insertar de nuevo.

lo que deberias hacer es recorrer todo y una variable que diga si existe o no, y esa validacion dejarla fuera del bucle For, algo asi:

Código
  1.        Dim vExiste As Boolean = False
  2.  
  3.        For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1
  4.            nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0)
  5.            dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1)
  6.            edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2)
  7.            ' si el dni que quiero insertar ya esta en la tabla muestra un error
  8.  
  9.            If txt_DNI.Text = dni Then
  10.                vExiste = True
  11.                Exit For
  12.            End If
  13.  
  14.        Next
  15.  
  16.        If vExiste Then
  17.            MessageBox.Show("txt_dni: " & txt_DNI.Text & "DNI: " & dni)
  18.            MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
  19.            Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad)
  20.            Exit Sub
  21.        Else
  22.            ' inserto el usuario en la base de datos
  23.            Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text)
  24.        End If

saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C# codigo] insertar registro en base de datos
.NET (C#, VB.NET, ASP)
SRVAM 6 33,857 Último mensaje 20 Enero 2010, 08:58 am
por SRVAM
PHP - Insertar formulario en base de datos MySQL
PHP
javierete 1 6,378 Último mensaje 7 Febrero 2011, 21:35 pm
por Nakp
insertar imagenes en base de datos « 1 2 3 »
Bases de Datos
xemnas 20 15,974 Último mensaje 12 Enero 2012, 18:16 pm
por Novlucker
Insertar datos de dos campos hidden y un campo de texto en la base de datos.
Desarrollo Web
70N1 4 4,537 Último mensaje 6 Octubre 2012, 20:22 pm
por RevangelyonX
Duda php insertar en BD datos de un form que esta en un while
PHP
YamiAlx 2 2,931 Último mensaje 3 Marzo 2013, 16:53 pm
por YamiAlx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines