Máximos parámetros

04/05/2005 - 06:21 por Ikki Mitsui | Informe spam
Hola, estoy accediendo desde ASP a una base de datos Access a través de ODBC. Tengo varias consultas de todo tipo en el mismo Access, y cuando necesitan parámetros se los proporciono. En general me funciona bien excepto en una consulta en la cual tiene unos 13 parámetros... me devuelve "Instrucción SQL no válida; se esperaba 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' o 'UPDATE'."...

La consulta está bien realizada ya que si la llamo desde el mismo Access actualiza correctamente... los parámetros aparentemente están en orden...

Alguna sugerencia?

De antemano, muchas gracias.



Mitsui

AMD Athlon XP 3000+
Mainboard Asus A7V333 R
512 MB RAM DDR 400 Kingston
Asus G-Force 6600 128 MB AGP
Windows XP PRO SP2 Limpio

Preguntas y comentarios al foro,
así nos beneficiamos todos.

Preguntas similare

Leer las respuestas

#1 Miguel Gonzalez
04/05/2005 - 12:44 | Informe spam
Hola Ikki.

Antes de ejecutar la consulta en la página ASP, haz un "Response.Write" de su contenido.

Será la mejor forma de ver qué está fallando (es posible que haya algún problemas con comas,
comillas o uso de comodines).

Si no ves el problema, postea la consulta para echarle un vistazo.

Saludos!
Miguel

Ikki Mitsui wrote:
Hola, estoy accediendo desde ASP a una base de datos Access a través de ODBC. Tengo varias consultas de todo tipo en el mismo Access, y cuando necesitan parámetros se los proporciono. En general me funciona bien excepto en una consulta en la cual tiene unos 13 parámetros... me devuelve "Instrucción SQL no válida; se esperaba 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' o 'UPDATE'."...

La consulta está bien realizada ya que si la llamo desde el mismo Access actualiza correctamente... los parámetros aparentemente están en orden...

Alguna sugerencia?

De antemano, muchas gracias.


Respuesta Responder a este mensaje
#2 Ikki Mitsui
04/05/2005 - 18:09 | Informe spam
Gracias por contestar. Veamos:

Antes de ejecutar la consulta en la página ASP, haz un "Response.Write" de su contenido.



Como dije antes, la consulta está realizada en la misma base de datos (es un objeto de la DB de Access). Desde ASP, lo único que hago es llamar al nombre de la consulta y darle los parámetros necesarios, de esta manera:


Dim myParam(14)

With myCMD
.ActiveConnection=Application("myDB")
Set myParam(0) = .CreateParameter("CID", 20, 1, , ID)
Set myParam(1) = .CreateParameter("Host", 20, 1,, 1)
Set myParam(2) = .CreateParameter("Nomb", 200, 1, 32, Request.Form("txtNombre"))
Set myParam(3) = .CreateParameter("Apellido", 200, 1, 32, Request.Form("txtApellido"))
Set myParam(4) = .CreateParameter("Empresa", 200, 1, 32, Request.Form("txtEmpresa"))
Set myParam(5) = .CreateParameter("CUIT", 200, 1, 32, Request.Form("txtCUIT"))
Set myParam(6) = .CreateParameter("Direccion", 200, 1, 32, Request.Form("txtDireccion"))
Set myParam(7) = .CreateParameter("Localidad", 200, 1, 32, Request.Form("txtLocalidad"))
Set myParam(8) = .CreateParameter("CP", 200, 1, 16, Request.Form("txtCP"))
Set myParam(9) = .CreateParameter("Provincia", 200, 1, 32, Request.Form("txtProvincia"))
Set myParam(10) = .CreateParameter("Pais", 200, 1, 32, Request.Form("txtPais"))
Set myParam(11) = .CreateParameter("Telefono", 200, 1, 16, Request.Form("txtTelefono"))
Set myParam(12) = .CreateParameter("Movil", 200, 1, 16, Request.Form("txtMovil"))
Set myParam(13) = .CreateParameter("Observaciones", 200, 1, 64, Request.Form("txaObservaciones"))
Set myParam(14) = .CreateParameter("Activo", 11, 1, , Request.Form("chkActivo")="on")

.CommandText = "uCliente"
.Execute myRecAffected, myParam, 8
End with


Los parámetros de la consulta son:

PARAMETERS [CID] Long, [Host] Long, [Nomb] Text ( 255 ), [Apellido] Text ( 255 ), [Empresa] Text ( 255 ), [CUIT] Text ( 255 ), [Direccion] Text ( 255 ), [Localidad] Text ( 255 ), [CP] Text ( 255 ), [Provincia] Text ( 255 ), [Pais] Text ( 255 ), [Telefono] Text ( 255 ), [Movil] Text ( 255 ), [Observaciones] Text ( 255 ), [Activo] Bit;


De antemano, muchas gracias.



Mitsui

AMD Athlon XP 3000+
Mainboard Asus A7V333 R
512 MB RAM DDR 400 Kingston
Asus G-Force 6600 128 MB AGP
Windows XP PRO SP2 Limpio

Preguntas y comentarios al foro,
así nos beneficiamos todos.
Respuesta Responder a este mensaje
#3 Ikki Mitsui
05/05/2005 - 05:00 | Informe spam
Me respondo a mí mismo. El problema está en que ejecuto varias consultas (en la misma página asp) y estaba usando el mismo objeto COMMAND para todas...

Gracias a los que prestaron atención.



Mitsui

AMD Athlon XP 3000+
Mainboard Asus A7V333 R
512 MB RAM DDR 400 Kingston
Asus G-Force 6600 128 MB AGP
Windows XP PRO SP2 Limpio

Preguntas y comentarios al foro,
así nos beneficiamos todos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida