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