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

error al insertar datos con espacios

Estas en el tema de error al insertar datos con espacios en el foro de ASP Clásico en Foros del Web. Hola amigos....vereis tengo una aplicación para insertar datos en access, tengo una serie de input para que el cliente meta su nombre direccion ciudad etc... ...
  #1 (permalink)  
Antiguo 18/04/2006, 10:40
 
Fecha de Ingreso: octubre-2004
Mensajes: 230
Antigüedad: 19 años, 7 meses
Puntos: 0
error al insertar datos con espacios

Hola amigos....vereis tengo una aplicación para insertar datos en access, tengo una serie de input para que el cliente meta su nombre direccion ciudad etc... Pero cuando alguien escribe algo con un espacio ej " paco saez" este nombre lleva un espacio pues me sale el siguiente error
Cita:
Microsoft JET Database Engine error '80040e21'

El campo 'orders.lName' no puede ser una cadena de longitud cero.
sin embargo si no meto espacios me lo acepta y lo hace bien
este es el codigo que uso para insertar
Código:
Dim idpedido, idproducto, total, strFirst, strLast, strEmail, strAddress1, strCity, strState, strPostalCode, strCountry, strPhone
Dim strShipFirst, strShipLast, strShipAddress, strShipCity, strShipState, strShipPostalCode, strShipCountry, strShipMethod 
strFirst = Request.Form("strFirst")
strLast = Request.Form("strLast")
strEmail = Request.Form("strEmail")
strAddress1 = Request.Form("strAddress1")
strAddress2 = Request.Form("strAddress2")
strCity = Request.Form("strCity")
strState = Request.Form("strState")
strPostalCode = Request.Form("strPostalCode")
strCountry = Request.Form("strCountry")
strPhone = Request.Form("strPhone")
strShipFirst = Request.Form("strShipFirst")
strShipLast = Request.Form("strShipLast")
strShipAddress = Request.Form("strShipAddress")
strShipCity = Request.Form("strShipCity")
strShipState = Request.Form("strShipState")
strShipPostalCode = Request.Form("strShipPostalCode")
strShipCountry = Request.Form("strShipCountry")
strShipMethod = Request.Form("strShipMethod")
idpedido = Request.Form("intOrderID")
idproducto = request.Form("intProdID")
total = request.Form("intTotal")
   
total=replace(total, ",","")
   
URL_TPVVIRTUAL = "https://sis-t.sermepa.es:25443/sis/realizarPago" 

	
	Ds_Merchant_MerchantName   	= "mi empresa"
	Ds_Merchant_MerchantCode  	= "00000000000"
	Ds_Merchant_Terminal		= "0000"
	Ds_Merchant_Password        = "00000000"
	Ds_Merchant_Currency       	= "00000"
	Ds_Merchant_Amount         	=  total 
	Ds_Merchant_Order           =  "" 
	Ds_Merchant_TransactionType = "0"
	Ds_Merchant_UrlOK           = "http://miweb/validapedido.asp?intOrderID=" & idpedido & "&strFirst="& strFirst &"&strLast="& strLast &"&strEmail="& strEmail &"&strAddress1="& strAddress1 &"&strCity="& strCity &"&strState="& strState &"&strPostalCode="& strPostalCode &"&strCountry="& strCountry &"&strPhone="& strPhone &"&strShipFirst="& strShipFirst &"&strShipLast="& strShipLast &"&strShipAddress="& strShipAddress &"&strShipCity="& strShipCity &"&strShipState="& strShipState &"&strShipPostalCode="& strShipPostalCode &"&strShipCountry="& strShipCountry &"&strShipMethod="& strShipMethod &"&total="& total &" "
0Ds_Merchant_MerchantURL	0= "http://mi web/"
Ds_Merchant_ConsumerLanguage = "1"
Con esto le paso a validapedido.asp los datos necesarios para que me valide el pedido y lo meta en la DB Access
y la forma de insertarlo es asi
Código:
strFirst = Trim(Request.QueryString("strFirst"))
	strLast = Trim(Request.QueryString("strLast"))
	strEmail = Trim(Request.QueryString("strEmail"))
	strAddress1 = Trim(Request.QueryString("strAddress1"))
	strCity = Trim(Request.QueryString("strCity"))
	strState = Trim(Request.QueryString("strState"))
	strPostalCode = Trim(Request.QueryString("strPostalCode"))
	strCountry = Trim(Request.QueryString("strCountry"))
	strPhone = Trim(Request.QueryString("strPhone"))
	strShipFirst = Trim(Request.QueryString("strShipFirst"))
	strShipLast = Trim(Request.QueryString("strShipLast"))
	strShipAddress = Trim(Request.QueryString("strShipAddress"))
	strShipCity = Trim(Request.QueryString("strShipCity"))
	strShipState = Trim(Request.QueryString("strShipState"))
	strShipPostalCode = Trim(Request.QueryString("strShipPostalCode"))
	strShipCountry = Trim(Request.QueryString("strShipCountry"))
	strShipMethod = Trim(Request.QueryString("strShipMethod"))
	strTotal = Request.QueryString("total")
%>
</font>
<%
    set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open ConString

	intOrderID = Request.QueryString("intOrderID")

    set rsOrder = Server.CreateObject("ADODB.Recordset")
    rsOrder.Open "SELECT * FROM orders WHERE orderID = " _
        & intOrderID, Conn, adOpenStatic, adLockOptimistic, _
        adCmdText

    if rsOrder.EOF then
        Response.Write "Hay un problema con tu pedido. " 
        Response.Write "Contacta con el atención a clientes."
    else

        
        rsOrder("fName") = strFirst
        rsOrder("lName") = strLast
        rsOrder("email") = strEmail
        rsOrder("address1") = strAddress1
        rsOrder("city") = strCity
        rsOrder("state") = strState
        rsOrder("postalcode") = strPostalCode
        rsOrder("country") = strCountry
        rsOrder("phone") = strPhone
        rsOrder("sfName") = strShipFirst
        rsOrder("slName") = strShipLast
        rsOrder("sAddress") = strShipAddress
        rsOrder("sCity") = strShipCity
        rsOrder("sState") = strShipState
        rsOrder("sPostalcode") = strShipPostalCode
        rsOrder("sCountry") = strShipCountry
        rsOrder("sMethod") = strShipMethod
        rsOrder("total") = strTotal
        rsOrder("orderDate") = Date
        rsOrder("status") = "COMPLETE"
        rsOrder.Update
A ver si alguien me puede decir algo....
Ahhh en la Db Access los campos los tengo asi
Requerido : no
Permitir longitud cero : no
Indexado : no
Compresion unicode : no
IME Mode : sin controles
IME Sentence Mode : nada
  #2 (permalink)  
Antiguo 18/04/2006, 12:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues estabas muy cerca...

Permitir longitud cero : Si

Saludos
__________________
"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 14:31.