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

cadena de longitud cero

Estas en el tema de cadena de longitud cero en el foro de ASP Clásico en Foros del Web. este es el programa <html> <head> <title>insertar1.asp</title> <%@language="vbscript" %> </head> <body> <% nombre=Request.Form("nombre") apellidopaterno=Request.Form("apellido paterno") apellidomaterno=Request.Form("apellido materno") telefono= Request.Form("telefono") comentarios=Request.Form("comentarios") Set objConn=Server.CreateObject("ADODB.Connection") objConn.Open "Driver={Microsoft Access ...
  #1 (permalink)  
Antiguo 19/11/2004, 11:56
 
Fecha de Ingreso: noviembre-2004
Mensajes: 496
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación cadena de longitud cero

este es el programa
<html>
<head>
<title>insertar1.asp</title>
<%@language="vbscript" %>
</head>
<body>
<%

nombre=Request.Form("nombre")
apellidopaterno=Request.Form("apellido paterno")
apellidomaterno=Request.Form("apellido materno")
telefono= Request.Form("telefono")
comentarios=Request.Form("comentarios")

Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("base1.mdb")

sSQL="Insert INTO Tabla1 (nombre, apellidopaterno, apellidomaterno, telefono, comentario) values ('" & nombre & "','" & apellidopaterno & "','" & apellidomaterno & "','" & telefono & "','" & comentario & "')"

objConn.Execute(sSQL)
%>
<h1><div align="center">Registro Insertado</div></h1>
<%
objConn.Close
objConn=nothing
%>
</BODY>
</HTML>

y el error que da es el siguiente:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] El campo 'Tabla1.apellidopaterno' no puede ser una cadena de longitud cero.

/insertar1.asp, line 20
AQUE SE DEBE.
  #2 (permalink)  
Antiguo 19/11/2004, 12:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Está llegando a insertar en ese campo un string vacio '', y en la definición de la tabla, este campo no permite longitud cero...una de dos, validas que ese string vacio en lugar de '' te regrese mediante una función por ejemplo un null, o cambias la definición de ese campo desde el diseño de la tabla en Access.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 19/11/2004, 12:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 20 años, 7 meses
Puntos: 0
haber una solucion rapida es verificar que contiene cada variable, te aconsejo que entas de enviar a la bd comentes esas lineas e imprimas su contenido por pantalla.

como para ver que llevan, si eso esta bien seguro que es cuando ejecutas la SQL
  #4 (permalink)  
Antiguo 19/11/2004, 12:18
 
Fecha de Ingreso: noviembre-2004
Mensajes: 496
Antigüedad: 19 años, 7 meses
Puntos: 0
Cita:
Iniciado por u_goldman
Está llegando a insertar en ese campo un string vacio '', y en la definición de la tabla, este campo no permite longitud cero...una de dos, validas que ese string vacio en lugar de '' te regrese mediante una función por ejemplo un null, o cambias la definición de ese campo desde el diseño de la tabla en Access.

Salu2,
como cambiaria la decinicion de ese campo en access
  #5 (permalink)  
Antiguo 19/11/2004, 12:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, pues me parece que aquí hay duplicidad de posts, no es necesario abrir otro tema..ya te dió la solución el master Myakire en tu otro post.

Salú
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 00:01.