ASP - no actualiza la base de datos

 
Vista:

no actualiza la base de datos

Publicado por ruben (5 intervenciones) el 14/01/2005 14:05:14
este es mi problema lo intento es actualizar la base de datos con los datos que se metan en desde una caja de texto segun el usuario que sea, decir que mostrar los datos del usuario lo hace bien, pero cuando los quiero actualizar no lo hace, bueno pone -1 o 0 en uno de los campos cuando lo hago desde un request y si lo hago forzandolo (poniendo yo unos valores) no hace nada, si el problema fuera que no encuentra el registro no pondria ni -1 ni 0 y si fuera por el campo de busqueda el resto de registro cambiarian tambien, cosa que no hace.
asi que no se lo que pasa, decir que si yo visualizo los request me les pone bien.
os muestro el codigo que he puesto y con las 2 SQL que he intentando.

set a=server.createobject("ADODB.Connection")
set b=server.createobject("ADODB.Recordset")
a.open "DSN=iso"

'consulta por la cual vamos a actualizar los datos del auditor

'sqlstr= "UPDATE empresas_auditoras SET Empresa ='" & request("Empresa") & "' AND Auditor ='" & request("Auditor") & "' WHERE id_audit ='" & request("id_audit") & "';"
sqlstr= "UPDATE empresas_auditoras SET Empresa ='1' AND Auditor ='2' WHERE id_audit ='CGG';"

set b= a.Execute(sqlstr)
'a.Execute(sqlstr)

set b=nothing
a.close
set a=nothing
%>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:no actualiza la base de datos

Publicado por Ayudante (255 intervenciones) el 14/01/2005 15:31:54
La sentencia correcte es la comentada: a.Execute(sqlstr)
Y no la que usas: set b= a.Execute(sqlstr)

UPDATE no es una instrucción que devuelva un set de datos, solo envía información que no es coerente.

También trata de debuguear esa instrucción de esta forma a ver si falta algún dato:
Response.Write "UPDATE empresas_auditoras SET Empresa ='" & request("Empresa") & "' AND Auditor ='" & request("Auditor") & "' WHERE id_audit ='" & request("id_audit") & "';"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sigue sin actualizar

Publicado por ruben (5 intervenciones) el 15/01/2005 12:46:44
no funciona tampoco cuando modifico solo el campo empresa se pone 0 o un -1 y esta a 0 pone -1 y a la inversa independientemente de el texto que ponga.
y las cajas 3 cajas de texto son los datos que yo meto por teclado pero no hace la modificcion.
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

solucionado

Publicado por ruben (5 intervenciones) el 15/01/2005 16:59:12
bien buscando buscando encontre una forma un tanto diferente pero al menos efectiva, es la siguiente por si pudiera a alguien que tubiera mi mismo problema:

set a=server.createobject("ADODB.Connection")
set b=server.createobject("ADODB.Recordset")
a.open "DSN=iso"
' Tenemos que especificar un Cursor y un Lock (cerrojo) que permitan editar.
' Cursor=adOpenKeyset
b.CursorType=1
' Lock=adLockOptimistic
b.LockType=2
sqlstr= "SELECT * FROM empresas WHERE id ='" & request.cookies("usuario") & "';"
b.Open sqlstr, a

b.Fields("Empresa")= request("Empresa")
b.Fields("Auditor")= request("Auditor")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:solucionado

Publicado por Ayudante (255 intervenciones) el 17/01/2005 20:33:07
Esta es la forma más efectiva para cuando tienes comillas o caracteres especiales, los cuales debes agregarlos a un campo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar