Foros del Web » Creando para Internet » Herramientas y Software »

Insertar campo memo en foxpro con asp

Estas en el tema de Insertar campo memo en foxpro con asp en el foro de Herramientas y Software en Foros del Web. Necesito isertar un campo memo en una tabla de foxpro usando asp(utilizo Odbc). El problema que tengo es que cuando quiero guardar memos de 255 ...
  #1 (permalink)  
Antiguo 15/02/2002, 09:12
 
Fecha de Ingreso: febrero-2002
Mensajes: 3
Antigüedad: 22 años, 2 meses
Puntos: 0
Insertar campo memo en foxpro con asp

Necesito isertar un campo memo en una tabla de foxpro usando asp(utilizo Odbc). El problema que tengo es que cuando quiero guardar memos de 255 caracteres, se inserta correctamente y cuando paso de esta cantidad me da error del driver ODBC.El error es el siguiente: :) :) ;) Microsoft][ODBC Visual FoxPro Driver]El comando contiene una frase o palabra clave no reconocida.
  #2 (permalink)  
Antiguo 29/09/2008, 15:48
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Insertar campo memo en foxpro con asp

Oye amigo a mi me pasa lo mismo no tienes todabia la solucion para este incombeniente ???? es que no encuentro la lolucion...
  #3 (permalink)  
Antiguo 29/09/2008, 16:40
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Insertar campo memo en foxpro con asp

man

Que tal, saludos a todos.

Bueno sobre la forma de meter mas de 255 caracteres a un campo Memo, en el caso de hacerlo desde Visual Basic, es de la siguiente forma:

Hay que concatenar la cadena de los primeros 255 caracteres y despues el resto de la cadena es decir.

si CadenaX = 300 caracteres

hay que meterlos asi.....

CampoMemo = 254 caracteres + 46 caracteres.

Para que me entiendan voy a hacer un ejemplo con SQL

INSERT INTO Tabla (Nombre, Observ) VALUES ('Juan', '[cadenaX]')

El chiste es separar [cadenaX] asi:

INSERT INTO Tabla (Nombre, Observ) VALUES ('Juan', 'left(cadenax,254)'+'right(cadenax,46)')

fijense que hay una concatenacion '+' despues de los 254 caracteres dentro de un mismo campo. Pues esa es la que sirve para meter la cadena completa.
Les pondre un ejemplo de un codigo y observen:


Private sub Insertar ()
Com.CommandText = "INSERT INTO DATOS (NOMBRE,OBSERV) VALUES ('" & UCase(Trim(txt_Nombre.Text)) & "','" & QuitaCarac(UCase(Trim(txt_Observ.Text))) & "')"
Set RS = Com.Execute
End Sub


Ahora una rutina para preparar la cadena y dejarla lista para insertar es la sig:

Private Function QuitaCarac(Cadena As String) As String
'QUITA LOS RETORNOS DE CARRO PARA ALMACENAR EN CAMPO, PREPARA UNA CADENA DE MAS DE 254 CARACTERES PARA INSERTAR A CAMPO MEMO
Dim X As Integer
Dim Cont As Integer
Dim Texto As String
Dim Car As String
Dim N As Integer
Con = Len(Cadena)
Texto = ""
X = 1
N = 0
Do
N = N + 1
If N >= 254 Then
N = 0
Car = "' + '"
Texto = Texto + Car
End If
Car = Mid(Cadena, X, 1)
If Car = Chr(10) Then
Car = Chr(13)
ElseIf Car = "'" Or Car = "+" Then
GoTo 1
End If
Texto = Texto + Car
1 X = X + 1
Loop Until X > Con
QuitaCarac = Texto
End Function

Esta funcion lo que hara sera separar en bloques de 254 caracteres la cadena
CadenaNueva= Bloque254 '+' Bloque254 '+' ... '+' BloqueRestante

Espero que les sirva de algo, o que les ayude a resolver algunas dudas.

Ojala que ahora alguien pueda averiguar por que al usar el comando UPDATE, siguiendo el mismo procedimiento, solo deja actualizar 508 caracteres y mas de 508 se bloquea la aplicación sin mostrar un aviso de error ni nada.

Saludos
  #4 (permalink)  
Antiguo 30/09/2008, 00:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Insertar campo memo en foxpro con asp

El mensaje original es de hace más de 6 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:18.