Foros del Web » Programando para Internet » ASP Clásico »

Error al insert en base de datos

Estas en el tema de Error al insert en base de datos en el foro de ASP Clásico en Foros del Web. Buenas, tengo un problema a la hora de hacer un insert, tengo el siguiente codigo: Código: <!--#include virtual="/adovbs.inc" --> <%dim matricula, folio, nomeembar, trb, matricula=request.Form("Matri") ...
  #1 (permalink)  
Antiguo 11/07/2005, 04:33
 
Fecha de Ingreso: abril-2005
Ubicación: Santiago Compostela
Mensajes: 213
Antigüedad: 19 años, 1 mes
Puntos: 0
Error al insert en base de datos

Buenas, tengo un problema a la hora de hacer un insert, tengo el siguiente codigo:
Código:
<!--#include virtual="/adovbs.inc" -->
<%dim matricula, folio, nomeembar, trb, 


matricula=request.Form("Matri")
folio= request.Form("Folio")
nomeembar=request.Form("NomeEmb")
trb=request.Form("Trb")



<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open="DSN=master;'';'';"
on error resume next
sql ="INSERT into Embarcacions(MATRICULA,FOLIO,[NOME DA EMBARCACION],TRB) values ('"&matricula&"','"&folio&"','"&nomeembar&"','"&trb&"')"
conn.execute sql

if err <> 0 then
	Dim URLerror
	Dim TipoErrorCod
	TipoErrorCod="Error al insertar datos das Embarcacions"
	URLerror=("/error.asp?TipoError=" & TipoErrorCod &"")
	Response.Redirect URLerror
end if
Conn.Close
SET Conn = Nothing
Dim URL
URL=("/Embar/AltaEmbar.asp")
Response.Redirect URL
%>
los campos clave son MATRICULA,FOLIO lo que me hace es que para que me los inserte bien en la base de datos tengo que escribirlos todos, si por ejemplo no introduzco nada en el campo TRB del formulario y le doy a guardar, no me los graba y me da un error. Como puedo hacer para que si no le escribo nada en los campos que no tiene datos me lo grabe bien.
un saludo
  #2 (permalink)  
Antiguo 11/07/2005, 05:40
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola acrego.

Debes decirle al campo "TRB" de la tabla "Embarcaciones" de tu base de datos, que acepte valores nulos.

Saludos!!!
  #3 (permalink)  
Antiguo 11/07/2005, 06:08
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
Una pequeña correccion a lo que dijo NeoZ tienes que modificar la base de datos para que los campos acepten valores "vacios" (empty) pues null y empty son dos cosas distintas.... bueno eso saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #4 (permalink)  
Antiguo 11/07/2005, 08:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias por la rectificación, El_Metallick

Saludos!
  #5 (permalink)  
Antiguo 12/07/2005, 03:07
 
Fecha de Ingreso: abril-2005
Ubicación: Santiago Compostela
Mensajes: 213
Antigüedad: 19 años, 1 mes
Puntos: 0
Hize lo que me comentasteis lo de permitir campos vacios, o nulos en la base de datos, eso me lo hace bien en los campos que son de tipo texto pero en los que son numericos me sigue dando error y la unica opcion que puedo modifciar en la base de datos es "Requerido" y le tengo NO y en los campos que no le introduzco nada me da error.
un saludo
  #6 (permalink)  
Antiguo 12/07/2005, 04:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 6 meses
Puntos: 0
Cita:
la unica opcion que puedo modifciar en la base de datos es "Requerido" y le tengo NO
Por lo que me parece, la base de datos que tienes es de Access, no?
Has probado en los numéricos porner en "Valor por defecto" un 0 ?

Igual que en los campos fecha/hora, puedes poner "Valor por defecto" now() y automáticamente cuando creas un registro nuevo, te inserta la fecha sin tener que hacerlo desde la sentencia SQL.

Saludos!
  #7 (permalink)  
Antiguo 12/07/2005, 04:15
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
dale un valor por defecto al campo en la base de datos, asi se deveria solucionar el problema... saludos

---------------- Editado ------------------
jajajaj se me adelanto NeoZ bueno pero esa es la idea saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:02.