Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 11-abr-2005, 14:39   #1 (permalink)
Mary_ ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 163
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
Mary_ está desconectado   Responder Citando
Antiguo 12-abr-2005, 03:30   #2 (permalink)
neivan está en el buen camino
 
Avatar de neivan
 
Fecha de Ingreso: febrero-2005
Mensajes: 535
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...
neivan está desconectado   Responder Citando
Antiguo 13-abr-2005, 02:09   #3 (permalink)
Mary_ ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 163
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.
Mary_ está desconectado   Responder Citando
Antiguo 13-abr-2005, 02:50   #4 (permalink)
neivan está en el buen camino
 
Avatar de neivan
 
Fecha de Ingreso: febrero-2005
Mensajes: 535
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
neivan está desconectado   Responder Citando
Antiguo 13-abr-2005, 08:52   #5 (permalink)
Mary_ ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Gracias Neivan, lo probaré.
Mary_ está desconectado   Responder Citando
Antiguo 14-abr-2005, 03:21   #6 (permalink)
Mary_ ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 163
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.
Mary_ está desconectado   Responder Citando
Antiguo 14-abr-2005, 03:51   #7 (permalink)
neivan está en el buen camino
 
Avatar de neivan
 
Fecha de Ingreso: febrero-2005
Mensajes: 535
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.
neivan está desconectado   Responder Citando
Antiguo 14-abr-2005, 05:20   #8 (permalink)
Mary_ ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 163
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.
Mary_ está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:24.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93