Avatar billede skovjuul Nybegynder
17. januar 2008 - 19:18 Der er 3 kommentarer og
1 løsning

Problemer med stream og mysql

Hola

Jeg har en TRichEdit på min form hvor det er muligt at formatere tekst.
For at gemme formatering gemmer jeg teksten i en stream vha.
(MS: TMemoryStream)
reJournal.Lines.SaveToStream(MS);
MS bliver gemt i MySql i et blobfelt.

Mit problem er at danske bogstaver (æ,ø,å) i streamen indeholder ' -tegnet så når jeg laver en back-up af min database får jeg store problemer når jeg prøver at genskabe min back-up da der ligepludselig er for mange entries i min tabel.

Nogen der har en løsning?

På forhånd tak
Jesper
Avatar billede arne_v Ekspert
18. januar 2008 - 02:51 #1
Siger du at din mysql ved backup genererer SQL INSERT hvor dine single quotes
ikke er ordentligt escapet ?

Hvis ja - hvilken MySQL ?
Avatar billede skovjuul Nybegynder
18. januar 2008 - 09:43 #2
MySql er version: mysql-5.0.41.exe

Jeg har følgende tekst i min TRichEdit:
Jeg har købt denne udgave
og kan ændre her i løbet af dagen

Det ser sådan her ud i databasen når jeg laver en back-up:
--
--  Table structure for table "kunder"
--
DROP TABLE IF EXISTS kunder;

CREATE TABLE `kunder` (
  `customername` varchar(35) character set latin1 NOT NULL,
  `company` varchar(40) collate latin1_danish_ci default NULL,
  `countrycode` varchar(5) character set latin1 NOT NULL default '+45',
  `mobilnummer` varchar(15) character set latin1 default NULL,
  `fastnummer` varchar(15) character set latin1 default NULL,
  `workphone` varchar(15) collate latin1_danish_ci default NULL,
  `journal` blob,
  `wantsms` tinyint(1) unsigned NOT NULL default '0',
  `mailadr` varchar(60) character set latin1 default NULL,
  `wantmail` tinyint(1) unsigned NOT NULL default '0',
  `wantoffer` tinyint(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (`customername`),
  KEY `mobilnummer` (`mobilnummer`),
  KEY `fastnummer` (`fastnummer`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci AVG_ROW_LENGTH=112 ROW_FORMAT=COMPACT;

--
--  Table data for table "kunder". Record count - 1
--
LOCK TABLES kunder WRITE;

INSERT INTO kunder VALUES ('Mogens','','+45','','','','{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1030{\\fonttbl{\\f0\\fnil Tahoma;}{\\f1\\fnil\\fcharset0 Tahoma;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs16 Jeg har k\\f1\\\'f8\\f0 b\\i t den\\i0 ne udgave\r\n\\par og kan \\f1\\\'e6\\f0 ndre her \\b i l\\f1\\\'f8\\f0 b\\b0 et af dagen\r\n\\par \r\n\\par }\r\n\0',0,'',0,0);

UNLOCK TABLES;

Jeg kan sjovt nok sagtens hente informationen igen via LoadFromStream uden problemer og jeg får ingen andre fejl i løbet af normal brug af programmet der bruger informationen.
Avatar billede skovjuul Nybegynder
29. januar 2008 - 06:13 #3
Ingen der kender til dette problem?

Alternativt, hvordan kan jeg parse indholdet af en stream, så kunne jeg bare søge/erstatte de forbudte karakterer i stedet?

På forhånd tak for hjælpen
Avatar billede skovjuul Nybegynder
10. marts 2008 - 15:06 #4
lukker og slukker... desværre ikke løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester