Foros del Web » Programando para Internet » ASP Clásico »

cadenas y base de datos

Estas en el tema de cadenas y base de datos en el foro de ASP Clásico en Foros del Web. Feliz año nuevo a todos. Que Dios permita que los deseos del corazon se ustedes se cumplan, conforme a Su voluntad. Hay algo que quiero ...
  #1 (permalink)  
Antiguo 02/01/2006, 09:46
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años, 1 mes
Puntos: 1
cadenas y base de datos

Feliz año nuevo a todos. Que Dios permita que los deseos del corazon se ustedes se cumplan, conforme a Su voluntad.

Hay algo que quiero hacer pero no me resulta. Tengo una variable que paso de una web a otra a traves de querystring. Esa variable necesito guardarla en una base de datos, pero no sustituyendo el dato anterior con este nuevo, sino uniendolos en el mismo campo, solamente separados por un espacio.

Es decir, que si la variable que paso es igual a "caramelo" y quiero guardarla en un campo llamada "comidas", y ya tiene un dato anterior llamado "sopa", como puedo hacer para que, a la hora de guardar la palabra "caramelo" en el campo "comidas" no sustituya el dato anterior "sopa", sino que quede al final en el campo "caramelo sopa" ??? Y asi pueda agregar mas datos sin sobreescribir los datos anteriores, sino que los siga agregando con un espacio en el medio?

Se que suena un poco complicado, pero imagino que debe hacerse con cadenas y manejo de variables desde base de datos. Pero ayer pasé horas intentando hacerlo y no me resultó.

Podria alguien apiadarse de mi? jejejeje, gracias.

Eduardo
  #2 (permalink)  
Antiguo 02/01/2006, 10:11
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 20 años, 7 meses
Puntos: 1
Buenas, se me ocurre que primero llames el campo "comida" con un select y lo guardes en una variable. Luego le agregas el valor del Request.

var_comida = Request("valor_nuevo")&" "&(campo_bd_comida)

Después guardarias el valor de "var_comida" en la base de datos.

Espero que te ayude en algo.
__________________
3S-CRM
  #3 (permalink)  
Antiguo 02/01/2006, 12:49
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años, 1 mes
Puntos: 1
podrias enseñarme como hacerlo, por favor? A la verdad no soy muy experimentado en esto de ASP :p

Y disculpa las molestias, por favor. Gracias.
  #4 (permalink)  
Antiguo 02/01/2006, 13:26
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años, 1 mes
Puntos: 1
Intenté pero no me resulta. Posiblemente yo esté cometiendo algun tipo de error. Mira el codigo que tengo hecho:

<%
user = Request.Form ("user")
ID = Request.Form ("ID")

set conexion = Server.Createobject("adodb.connection")
strconn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cocinadivertida.mdb")
conexion.open strconn

Set RS = Server.CreateObject( "ADODB.Recordset" )
RS.ActiveConnection = Conexion
RS.CursorType = 3
RS.Open "SELECT * FROM recetas WHERE ID=" & ID

RS.Requery

IF NOT RS.EOF THEN
user2 = RS( "user" )

END IF

favoritos = user2 & " " & user

SQL="INSERT INTO recetas " & _
"(user)"
SQL=SQL & " VALUES ('"&favoritos&"'); WHERE ID=" & ID
Conexion.Execute(SQL)

RS.Close

%>

Y el error que dice es este: Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Characters found after end of SQL statement.

Alguien puede decirme en donde me equivoqué?
  #5 (permalink)  
Antiguo 02/01/2006, 13:52
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
La sentencia insert crea un nuevo registro, de modo tal que es imposible poner una condicion, necesitarias en primera instancia utilizar una sentencia UPDATE y despues nada mas sumar el valor de este campo con un nuevo valor

variable = Request.Querystring("variable")
qry = "UPDATE tabla set campo = campo + ' ' " & variable " WHERE campo_id= 15"

Ve si asi te funciona.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 02/01/2006, 13:54
Avatar de FiNo  
Fecha de Ingreso: octubre-2004
Ubicación: Costa Rica
Mensajes: 265
Antigüedad: 20 años, 7 meses
Puntos: 1
Podria ser asi, no lo probe, pero has tu la prueba y me dices.

SQL = "SELECT user FROM recetas WHERE ID="& ID
Set rs = conexion.Execute(SQL)

If not rs.EOF Then
'Si existe un registro
user2 = rs( "user" )
nuevo_valor = user&" "&user2
SQL = "UPDATE recetas SET user = '"&nuevo_valor&"' WHERE ID = "&ID&""
conexion.Execute(SQL)
Else
SQL = " INSERT INTO recetas(user) VALUES ('"&user&"')"
conexion.Execute(SQL)
END IF
conexion.Close
Set conexion = Nothing
__________________
3S-CRM
  #7 (permalink)  
Antiguo 02/01/2006, 14:21
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años, 1 mes
Puntos: 1
Muchisimas gracias, Fino. Probé tu solucion y resultó a la perfeccion. Muchisimas gracias, en serio no sé como agradecertelo.

Gracias tambien a ti, Goldman, por dedicar de tu tiempo para ayudarme. Son de lo mejor ustedes.

Eduardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.