Problema con un campo de un Update (actualizacion BD)

22/08/2003 - 00:52 por guibernat | Informe spam
Buenas noches muchachos. El problema que tengo es que quiero
actualizar una base de datos desde una página asp. A continuación se
ve el contenido de esta página. Todo funciona bien, el único problema
es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
como una variable que he recogido desde otra página ASP (<%posicion Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
que me da un error tipo:
Microsoft JET Database Engine (0x80040E10)
No se han especificado valores para algunos de los parámetros
requeridos.

Si cambio ('"&posicion&"') por un valor concreto como puede ser
(Columna4) la cosa funciona de perlas.

<%
fechain = Request.Form(1)
posicion = Request.Form(2)
estado = Request.Form(3)

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>

Espero que me ayudeis.
Gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Yohn Zubiria
22/08/2003 - 09:03 | Informe spam
Prueba
SQL3="UPDATE mitabla SET '"& <%posicion%> &"'='"&estado&"' WHERE
fecha=#"&fechain&"# "


Saludos,
A.G.P.


"Guillem" escribió en el mensaje
news:
Buenas noches muchachos. El problema que tengo es que quiero
actualizar una base de datos desde una página asp. A continuación se
ve el contenido de esta página. Todo funciona bien, el único problema
es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
como una variable que he recogido desde otra página ASP (<%posicion > Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
que me da un error tipo:
Microsoft JET Database Engine (0x80040E10)
No se han especificado valores para algunos de los parámetros
requeridos.

Si cambio ('"&posicion&"') por un valor concreto como puede ser
(Columna4) la cosa funciona de perlas.

<%
fechain = Request.Form(1)
posicion = Request.Form(2)
estado = Request.Form(3)

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>

Espero que me ayudeis.
Gracias.
Respuesta Responder a este mensaje
#2 Carlos Yohn Zubiria
22/08/2003 - 11:11 | Informe spam
Vaya tontería he dicho. Olvídalo.

Saludos,
A.G.P.


"Carlos Yohn Zubiria" escribió en el mensaje
news:%
Prueba
SQL3="UPDATE mitabla SET '"& <%posicion%> &"'='"&estado&"' WHERE
fecha=#"&fechain&"# "


Saludos,
A.G.P.


"Guillem" escribió en el mensaje
news:
> Buenas noches muchachos. El problema que tengo es que quiero
> actualizar una base de datos desde una página asp. A continuación se
> ve el contenido de esta página. Todo funciona bien, el único problema
> es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
> como una variable que he recogido desde otra página ASP (<%posicion > > Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
> que me da un error tipo:
> Microsoft JET Database Engine (0x80040E10)
> No se han especificado valores para algunos de los parámetros
> requeridos.
>
> Si cambio ('"&posicion&"') por un valor concreto como puede ser
> (Columna4) la cosa funciona de perlas.
>
> <%
> fechain = Request.Form(1)
> posicion = Request.Form(2)
> estado = Request.Form(3)
>
> DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\web\iguana\pruebas\mibase.mdb"
> set oConn=Server.CreateObject("ADODB.Connection")
> oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\web\iguana\pruebas\mibase.mdb"
>
> SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
> fecha=#"&fechain&"# "
>
> oConn.Execute(SQL3)
> oConn.Close
> %>
>
> Espero que me ayudeis.
> Gracias.


Respuesta Responder a este mensaje
#3 danicastillo
22/08/2003 - 11:45 | Informe spam
si la has recogido en otra pagina la has perdido =) ten en cuenta q las
variables no se extienden entre paginas, debes usar session para
almacenarlas, algo asi como
<% posicion=request.form(2)
session("pos")=posicion
%>
... en la otra page
<% ..

SQL3="UPDATE mitabla SET "& session ("pos") &" ='"&estado&"' WHERE
fecha=#"&fechain&"# "
%>
ojo , sin comillas simples en el nombre del campo (columna)

por cierto intenta no usar
posicion=request.form(2)

es "correcto" pero poco legible , y si tocas el formulario origen debes
cambiar todos los indices, pero sobretodo poco legible =) , da un nombre al
campo origen y luego usa ese nombre ;)

-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"Guillem" escribió en el mensaje
news:
Buenas noches muchachos. El problema que tengo es que quiero
actualizar una base de datos desde una página asp. A continuación se
ve el contenido de esta página. Todo funciona bien, el único problema
es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
como una variable que he recogido desde otra página ASP (<%posicion > Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
que me da un error tipo:
Microsoft JET Database Engine (0x80040E10)
No se han especificado valores para algunos de los parámetros
requeridos.

Si cambio ('"&posicion&"') por un valor concreto como puede ser
(Columna4) la cosa funciona de perlas.

<%
fechain = Request.Form(1)
posicion = Request.Form(2)
estado = Request.Form(3)

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>

Espero que me ayudeis.
Gracias.
Respuesta Responder a este mensaje
#4 Webmaster Tiendainformaticatotal.com
23/08/2003 - 00:13 | Informe spam
Hola, el error esta en el request.form, ya que el error lo da en la consulta
sql puesto que fechain, posicion y estado no tienen valor te falta las
comillas en el request.form("lo_que_sea"), supuestamente lo estas pasando de
un formulario, en el cual insertas los datos de 1,2 y 3 en campos, bien
ocultos o no.

lo correcto seria:
<%
fechain = Request.Form("1")
posicion = Request.Form("2")
estado = Request.Form("3")

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>
PD.
si la consulta no sale, puede ser que necesites usar esta otra consulta, por
lo de las comillas de los valores.

SQL3="UPDATE mitabla SET "&posicion&"="&estado&" WHERE
fecha=#"&fechain&"# "


Guillem escribió en el mensaje de noticias

Buenas noches muchachos. El problema que tengo es que quiero
actualizar una base de datos desde una página asp. A continuación se
ve el contenido de esta página. Todo funciona bien, el único problema
es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
como una variable que he recogido desde otra página ASP (<%posicion > Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
que me da un error tipo:
Microsoft JET Database Engine (0x80040E10)
No se han especificado valores para algunos de los parámetros
requeridos.

Si cambio ('"&posicion&"') por un valor concreto como puede ser
(Columna4) la cosa funciona de perlas.

<%
fechain = Request.Form(1)
posicion = Request.Form(2)
estado = Request.Form(3)

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>

Espero que me ayudeis.
Gracias.
Respuesta Responder a este mensaje
#5 guibernat
23/08/2003 - 11:23 | Informe spam
Gracias a todos por vuestros mensajes pero sigue sin funcionar.
Webmaster, el error estoy seguro que me lo da en el UPDATE ya que si
pongo:

<%fechain = Request.Form(1)%>
<%posicion = Request.Form(2)%>
<%estado = Request.Form(3)%>

<%Response.Write(fechain)%><BR>
<%Response.Write(posicion)%><BR>
<%Response.Write(estado)%><BR>

me saca los valores por pantalla correctamente, por ejemplo:

23/04/2003
Fila1_2
2

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

La intención del Update es que quiero cambiar el estado de la columna
Fila1_2 que coincida con la fila que tenga como fecha 23/04/2003, y le
quiero poner el valor 2.

El tema está en que quiero pasar Fila2_2 como el campo '"&posicion&"'
de la sentencia (ya que es el nombre válido de una de las columnas de
la tabla), ya que cada vez que se regenere la página este valor puede
ser distinto (Fila5_3, Fila9_6, Fila7_1.). Si quito '"&posicion&"'
y meto directamente Fila2_2 la cosa funciona de maravilla, ya que es
capaz de encontrar esta columna, por lo tanto todo el código restante
eas correcto.

El problema, ya os digo, es que no se pasar este parámetro variable en
la consulta, mientras que los otros sí que se "los traga" bien, ya que
están en el lado de los valores y no en el de la consulta (creo).

Gracias.

"Webmaster Tiendainformaticatotal.com" wrote in message news:<O03#...
Hola, el error esta en el request.form, ya que el error lo da en la consulta
sql puesto que fechain, posicion y estado no tienen valor te falta las
comillas en el request.form("lo_que_sea"), supuestamente lo estas pasando de
un formulario, en el cual insertas los datos de 1,2 y 3 en campos, bien
ocultos o no.

lo correcto seria:
<%
fechain = Request.Form("1")
posicion = Request.Form("2")
estado = Request.Form("3")

DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"
set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\web\iguana\pruebas\mibase.mdb"

SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
fecha=#"&fechain&"# "

oConn.Execute(SQL3)
oConn.Close
%>
PD.
si la consulta no sale, puede ser que necesites usar esta otra consulta, por
lo de las comillas de los valores.

SQL3="UPDATE mitabla SET "&posicion&"="&estado&" WHERE
fecha=#"&fechain&"# "


Guillem escribió en el mensaje de noticias

> Buenas noches muchachos. El problema que tengo es que quiero
> actualizar una base de datos desde una página asp. A continuación se
> ve el contenido de esta página. Todo funciona bien, el único problema
> es que quiero pasarle la columna de la tabla del set ('"&posicion&"')
> como una variable que he recogido desde otra página ASP (<%posicion > > Request.Form(2)%>). Creo que no se la estoy poniendo correctamente ya
> que me da un error tipo:
> Microsoft JET Database Engine (0x80040E10)
> No se han especificado valores para algunos de los parámetros
> requeridos.
>
> Si cambio ('"&posicion&"') por un valor concreto como puede ser
> (Columna4) la cosa funciona de perlas.
>
> <%
> fechain = Request.Form(1)
> posicion = Request.Form(2)
> estado = Request.Form(3)
>
> DatosOrigen = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\web\iguana\pruebas\mibase.mdb"
> set oConn=Server.CreateObject("ADODB.Connection")
> oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=C:\web\iguana\pruebas\mibase.mdb"
>
> SQL3="UPDATE mitabla SET '"&posicion&"'='"&estado&"' WHERE
> fecha=#"&fechain&"# "
>
> oConn.Execute(SQL3)
> oConn.Close
> %>
>
> Espero que me ayudeis.
> Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida