Page 1 of 1

Guardar RTF en sql server

Posted: Mon Jan 09, 2023 2:30 pm
by jpcavagnaro
Hola, necesito guardar el texto de un Richedit en SQL Server, lo declare como varbinary(max) nvarchar(max) cualquiera de las 2 maneras me da error.

Podrían decirme como hacerlo

Saludos
Jorge

Re: Guardar RTF en sql server

Posted: Mon Jan 09, 2023 3:36 pm
by carlos vargas
muestralo como lo haces por favor, yo usalmente convierto todo a hex o base64 antes de guardarlo. pero es gusto mio.

Re: Guardar RTF en sql server

Posted: Mon Jan 09, 2023 5:37 pm
by jpcavagnaro
Así es como intento guardarlo:

csql = "INSERT INTO demo (testo) VALUES "+ STRTOHEX( MEMOREAD( ".\TestRTF.RTF" ) )

y así está creada la base:

CREATE TABLE [dbo].[demo](
[id] [int] IDENTITY(1,1) NOT NULL,
[testo] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


Saludos
Jorge

Re: Guardar RTF en sql server

Posted: Tue Jan 10, 2023 2:49 am
by carlos vargas
Así lo realizó yo, reemplaza la función memoread por Filestr.

csql = "INSERT INTO demo (testo) VALUES ( "+ STRTOHEX( FileoStr( ".\TestRTF.RTF" ) ) + ")"

Acá ver qué te falta () después de value.

Que error te muestra?

Salu2

Re: Guardar RTF en sql server

Posted: Tue Jan 10, 2023 2:01 pm
by jpcavagnaro
Logre guardar, pero de esta forma.

Primero dar de alta el registro y luego:

wvar = MEMOREAD( ".\TestRTF.RTF" )
oRsRTF := CargaRecordSet( "select * from demo1 where id = 2", CadenaCon )
oRsRTF:ADDNEW()
oRsRTF:Fields( "testo" ):Value := STRTOHEX(wvar)
oRsRTF:Update()
oRsRTF:Close()

de esta manera lo guarda sin errores.

Saludos
Jorge