Error en la sintaxis de update

07/10/2004 - 10:19 por gotzonen | Informe spam
Hola,
Tengo una intranet con base de datos y todas las interacciones con
esta son correctas menos en un caso. Tengo puestas sentencias de
update en varios sitios mas, por lo que se que el metodo que tengo
implementado para ejecutar la sentencia de actualizacion de la base de
datos esta bien. A ver si podeis echarme una mano y decirme que esta
mal en el siguiente fragmento de codigo:

Dim operar_db As New OperacionesDb ;clase de las operaciones
para la base de datos
Dim sql_update As String
Dim usuario As String
usuario = Inicio.Nombre
If (TextBox2.Text = TextBox3.Text) Then
sql_update = "update Usuarios set Password = '" &
TextBox2.Text & "' where Usuario = '" & usuario & "'"
operar_db.conexion_abrir()
operar_db.comando_actualizar(sql_update)
operar_db.conexion_cerrar()
Response.Redirect("menu.aspx")
Else
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

Label4.Text = "ERROR! Contraseña nueva mal repetida"
End If

Preguntas similare

Leer las respuestas

#1 Alvaro G Vicario
07/10/2004 - 11:44 | Informe spam
*** gotzonen wrote/escribió (7 Oct 2004 01:19:03 -0700):
A ver si podeis echarme una mano y decirme que esta
mal en el siguiente fragmento de codigo:



Es realmente difícil saber qué está mal en una consulta SQL si no nos pones
la consulta SQL. Añade este código y envíanos la salida que dé:

response.write sql_update

De todos modos, ¿esto es ASP clásico, ASP.NET o Visual Basic?



Respuesta Responder a este mensaje
#2 Manuel Etcheto
07/10/2004 - 15:40 | Informe spam
Hola:
Suponemos que el error lo da la query...
Si es Access puede ser porque "password" es una palabra reservada.
En ese caso poniéndole [password] en la query debería funcionar.

Adicionalmente, lo recomendado para las sentencias es un command con
parámetros y no sql dinámico.

Suerte
Manuel


gotzonen escribió en el mensaje de noticias

Hola,
Tengo una intranet con base de datos y todas las interacciones con
esta son correctas menos en un caso. Tengo puestas sentencias de
update en varios sitios mas, por lo que se que el metodo que tengo
implementado para ejecutar la sentencia de actualizacion de la base de
datos esta bien. A ver si podeis echarme una mano y decirme que esta
mal en el siguiente fragmento de codigo:

Dim operar_db As New OperacionesDb ;clase de las operaciones
para la base de datos
Dim sql_update As String
Dim usuario As String
usuario = Inicio.Nombre
If (TextBox2.Text = TextBox3.Text) Then
sql_update = "update Usuarios set Password = '" &
TextBox2.Text & "' where Usuario = '" & usuario & "'"
operar_db.conexion_abrir()
operar_db.comando_actualizar(sql_update)
operar_db.conexion_cerrar()
Response.Redirect("menu.aspx")
Else
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

Label4.Text = "ERROR! Contraseña nueva mal repetida"
End If
Respuesta Responder a este mensaje
#3 gotzonen
07/10/2004 - 17:00 | Informe spam
Creo que no has mirado bien el fragmento de codigo porque la consulta
sql esta ahi puesta. Mira despues del if como esta puesto la sentencia
de update.
No es ASP clasico sino .NET en visual basic.

Gracias


Alvaro G Vicario wrote in message news:...
*** gotzonen wrote/escribió (7 Oct 2004 01:19:03 -0700):
> A ver si podeis echarme una mano y decirme que esta
> mal en el siguiente fragmento de codigo:

Es realmente difícil saber qué está mal en una consulta SQL si no nos pones
la consulta SQL. Añade este código y envíanos la salida que dé:

response.write sql_update

De todos modos, ¿esto es ASP clásico, ASP.NET o Visual Basic?
Respuesta Responder a este mensaje
#4 Alvaro G Vicario
07/10/2004 - 17:52 | Informe spam
*** gotzonen wrote/escribió (7 Oct 2004 08:00:16 -0700):
Creo que no has mirado bien el fragmento de codigo porque la consulta
sql esta ahi puesta. Mira despues del if como esta puesto la sentencia
de update.



sql_update = "update Usuarios set Password = '" & TextBox2.Text & "' where
Usuario = '" & usuario & "'"

Pues esto *no* es SQL. Pégalo en la consola SQL de cualquier gestor de
bases de datos y verás lo que te dice. Este código sirve para generar una
cadena de texto que contienen una consulta, pero no es una consulta. Es lo
mismo que si pones:

<% response.write now() %>

Es código para generar una fecha, pero no es una fecha.


No es ASP clasico sino .NET en visual basic.



Si el problema está en el Visual Basic ahí no te sé ayudar, sorry.


Respuesta Responder a este mensaje
#5 gotzonen
08/10/2004 - 12:22 | Informe spam
Siento decirte que tu forma no ha funcionado. Me sigue saliendo el
mismo error. La palabra password de todas formas no es reservada. Si
me podeis dar otra solucion os lo agradeceria porque estoy dando
vueltas y no la consigo encontrar.
Gracias otra vez.
gotzonen

"Manuel Etcheto" wrote in message news:...
Hola:
Suponemos que el error lo da la query...
Si es Access puede ser porque "password" es una palabra reservada.
En ese caso poniéndole [password] en la query debería funcionar.

Adicionalmente, lo recomendado para las sentencias es un command con
parámetros y no sql dinámico.

Suerte
Manuel


gotzonen escribió en el mensaje de noticias

> Hola,
> Tengo una intranet con base de datos y todas las interacciones con
> esta son correctas menos en un caso. Tengo puestas sentencias de
> update en varios sitios mas, por lo que se que el metodo que tengo
> implementado para ejecutar la sentencia de actualizacion de la base de
> datos esta bien. A ver si podeis echarme una mano y decirme que esta
> mal en el siguiente fragmento de codigo:
>
> Dim operar_db As New OperacionesDb ;clase de las operaciones
> para la base de datos
> Dim sql_update As String
> Dim usuario As String
> usuario = Inicio.Nombre
> If (TextBox2.Text = TextBox3.Text) Then
> sql_update = "update Usuarios set Password = '" &
> TextBox2.Text & "' where Usuario = '" & usuario & "'"
> operar_db.conexion_abrir()
> operar_db.comando_actualizar(sql_update)
> operar_db.conexion_cerrar()
> Response.Redirect("menu.aspx")
> Else
> TextBox1.Text = ""
> TextBox2.Text = ""
> TextBox3.Text = ""
>
> Label4.Text = "ERROR! Contraseña nueva mal repetida"
> End If
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida