![]() |
Dataset Hola, soy nueva en este foro y quería consultaros una duda. Me gustaría saber como insertar datos en una tabla mediante un formulario en el que se tiene que registrar el usuario usando dataset. He creado el dataset de la tabla y enlazado los textbox a cada campo de la tabla de la b.d. pero ahora no sé q código poner para q al dar al botón d envíar se inserten los datos. Agradecería si m pudierais ayudar. Un saludo |
Para insertar los datos en una tabla d euna bd no andes enlazando textbox con la tabla ni nada de eso te pongo un ejemplo mio que trabaja con sql server dim cn as System.Data.SqlClient.SqlConnection cn=conexion() cn.open() DIM cmd AS System.Data.SqlClient.SqlCommand cmd = New System.Data.SqlClient.sQLCommand() cmd.Connection = cn cmd.CommandText = "INSERT INTO PROFESORES (dni,apellidos,nombre,email,direccion"& _ ",cp,municipio,telefono1,telefono2,fechanac,especi alidades"& _ ",descripcion,provincia) VALUES(@p1,@p2,"& _ "@p3,@p4,@p5,@p6,@p7,@p8,@p9,@p10,@p11,@p12,@p 13)" cmd.Parameters.Add("@p1", txtDni.text) cmd.Parameters.Add("@p2", txtapellidos.Text) cmd.Parameters.Add("@p3", txtnombre.Text) cmd.Parameters.Add("@p4", txtemail.Text) cmd.Parameters.Add("@p5", txtDIRECCION.Text) cmd.Parameters.Add("@p6", ponernulos(txtcp.Text)) cmd.Parameters.Add("@p7", txtMunicipio.Text) cmd.Parameters.Add("@p8", ponernulos(txttelefono1.Text)) cmd.Parameters.Add("@p9", ponernulos(txttelefono2.Text)) cmd.Parameters.Add("@p10", txtfechanac.Text) cmd.Parameters.Add("@p11", txtespecialidad.Text) cmd.Parameters.Add("@p12", txtdescripcion.Text) cmd.Parameters.Add("@p13", txtprovincia.Text) try N=cmd.ExecuteNonQuery() cn.close() response.redirect("Inicio.aspx?detalle=" & txtnombre.text & _ " " & txtapellidos.text & ".Isertado") catch nombre as Exception label10.visible=true label10.text="Error al insertar " & nombre.message end try cn.close() ero para todas las bd seria algo mas o menos asi Lo unico si haces con access oldbCOMMAND en vez de sqlcommand El dataset es para hacer lecturas y podrias modificar algun registro de lso que has leido. Pa cualquier cosa... |
Hola, yo lo tenía d esa forma hecho pero el problema viene cuándo kiero insertar campos nulos que el usuario no puede registrarse. Solo me deja si el usuario rellena todos los datos. Según tu código la función q pones como "ponernulos", qué hace? hace esto q digo?, gracias. |
Si tengo una funcion q controla o evita esto Para los campos que no son oblogatorios,tengo una funcion que si son nulos los convierte a integer ya que esto pasa con los numeros,q da error,te la muestro; para mostrar datos hago lo contrario por q tb da error si kieres meter un nulo a un texbox... Private Function quitarnulos(ByVal o As Object) As String If IsDBNull(o) Then Return "" Else Return CType(o, String) End If End FunctioN Private Function ponernulos(ByVal o As String) As Object If o = "" Then Return System.Convert.DBNull Else Return CType(o, Integer) End If End Function |
Gracias Neivan, lo probaré. |
Al final hice las tablas y los procedimientos en sql server en vez d cn Access y ya no tuve ningún problema para insertar campos nulos. Saludos. |
De todas formas deberas controlar por ejemplo si coges los valores de un dataset y te viene en algun campo valor nulo y se lo asignas a un textbox.y al reves yo tb utilizo sqlserver, comprueba haber si a los numericos si no pones nada (nulo) en un textbox te da error al insertar q a mi por lo menos me daba hasta que le puse la funcion.los nchar,las fechas no dan problemas. |
Pues kizás sea eso, q los campos d esa tabla q no kería q fueran obligatorios son string. No obstante probaré a ponerlos enteros a ver q pasa. Gracias. |
| La zona horaria es GMT -6. Ahora son las 07:41. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.