Autor
|
Tema: Insertar datos en la base de datos (Leído 4,695 veces)
|
andaluz
Desconectado
Mensajes: 333
|
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: Private Sub btn_Insertar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Insertar.Click Dim nombre, dni As String Dim edad As Double For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1 nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0) dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1) edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2) ' si el dni que quiero insertar ya esta en la tabla muestra un error If txt_DNI.Text = dni Then MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error) Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad) Exit Sub Else ' en caso contrario lo inserta Try Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text) Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad) Exit Try Catch ex As Exception End Try MessageBox.Show("Usuario insertado correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information) Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad) Exit For End If Next Me.Validate() Me.Usuarios2BindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.Bd_pruebaDataSet1) End Sub
Espero que me puedan ayudar, Saludos
|
|
|
En línea
|
|
|
|
seba123neo
|
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
Mensajes: 333
|
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
Mensajes: 91
|
Hola, tal y como dice Sebas, debes refrescar el datagrid; una función para ello es:
DataGrid1.ResetBindings()
Saludos
|
|
|
En línea
|
|
|
|
andaluz
Desconectado
Mensajes: 333
|
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. For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1 nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0) dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1) edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2) ' si el dni que quiero insertar ya esta en la tabla muestra un error If txt_DNI.Text = dni Then MessageBox.Show("txt_dni: " & txt_DNI.Text & "DNI: " & dni) MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error) Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad) Exit Sub Else ' inserto el usuario en la base de datos Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text) End If Next
gracias por tu aportacion abel_c_b Saludos
|
|
« Última modificación: 27 Febrero 2012, 18:26 pm por andaluz »
|
En línea
|
|
|
|
seba123neo
|
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: Dim vExiste As Boolean = False For i = 0 To Usuarios2TableAdapter.GetData.Rows.Count - 1 nombre = Usuarios2TableAdapter.GetData.Rows(i).Item(0) dni = Usuarios2TableAdapter.GetData.Rows(i).Item(1) edad = Usuarios2TableAdapter.GetData.Rows(i).Item(2) ' si el dni que quiero insertar ya esta en la tabla muestra un error If txt_DNI.Text = dni Then vExiste = True Exit For End If Next If vExiste Then MessageBox.Show("txt_dni: " & txt_DNI.Text & "DNI: " & dni) MessageBox.Show("El dni ya existe", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error) Limpiar_Campos(txt_Nombre, txt_DNI, txt_Edad) Exit Sub Else ' inserto el usuario en la base de datos Usuarios2TableAdapter.Insert(txt_Nombre.Text, txt_DNI.Text, txt_Edad.Text) End If
saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[C# codigo] insertar registro en base de datos
.NET (C#, VB.NET, ASP)
|
SRVAM
|
6
|
34,385
|
20 Enero 2010, 08:58 am
por SRVAM
|
|
|
PHP - Insertar formulario en base de datos MySQL
PHP
|
javierete
|
1
|
6,794
|
7 Febrero 2011, 21:35 pm
por Nakp
|
|
|
insertar imagenes en base de datos
« 1 2 3 »
Bases de Datos
|
xemnas
|
20
|
16,884
|
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
|
5,018
|
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
|
3,138
|
3 Marzo 2013, 16:53 pm
por YamiAlx
|
|