Avatar billede bjering Nybegynder
04. december 2007 - 17:53 Der er 9 kommentarer og
1 løsning

Newline char i mysql database query virker ikke.

Hej Eksperter.

Kan ikke få dette her til at virke.

Min query har et \ i sig, f.eks \Tester

Jeg har testet min string data for query'en, og den siger f.eks

"Update bla in bla SET name='\f1Tester'"  (bare et eksempel).

Men efter jeg har kørt min query, står der i db'en bare

f1Tester

Her er min kode :

-- Query

myReader = database.Query(myQuery);
database.endQuery();
myReader.Close();
myReader = null;

-- database

        public MySqlDataReader Query(string query)
        {
            try
            { 
                myCommand = new MySqlCommand(query);
                myCommand.Connection = dbCon;
                myData = myCommand.ExecuteReader();
            }
            catch (Exception error)
            {
                Form1.AddLogText(3, "Exception : " + error.Message);
                Logger.Log(true, "Exception : " + error.Message);
                Logger.Log(true, error.StackTrace);
            }

            return myData;
        }

        public void endQuery()
        {
            try
            {
                myData.Close();
                myData = null;
                myCommand.Dispose();
                myCommand = null;
            }
            catch (Exception error)
            {
                Form1.AddLogText(3, "Exception : " + error.Message);
                Logger.Log(true, "Exception : " + error.Message);
                Logger.Log(true, error.StackTrace);
            }
        }

hvordan kan jeg få den til at gemme min \ ?

så min row har \f1Tester og ikke f1Tester.

Tak.
Avatar billede arne_v Ekspert
04. december 2007 - 18:05 #1
\ har en speciel betydning i MySQL.

Workaround: dubler til \\.

God loesning: brug parameters !
Avatar billede bjering Nybegynder
04. december 2007 - 18:15 #2
har prøvet

myQuery.Replace(@"\", "\\");

men den fjerner ikke \ til \\ hmm

og hvad mener du med parameters ??
Avatar billede arne_v Ekspert
04. december 2007 - 18:28 #3
myQuery.Replace(@"\", @"\\");
Avatar billede arne_v Ekspert
04. december 2007 - 18:29 #4
Avatar billede bjering Nybegynder
04. december 2007 - 19:14 #5
myQuery.Replace(@"\", @"\\"); virker heller ikke hm

dette er min query

("UPDATE characters SET title='  \f1Tester' WHERE name='DETest'");

dette er efter replace

("UPDATE characters SET title='  \f1Tester' WHERE name='DETest'");
Avatar billede bjering Nybegynder
04. december 2007 - 19:23 #6
mig der lavede en fejl der, replacer fint nu. :)

bare smid et svar, har alt jeg skal bruge nu.

Takker.
Avatar billede arne_v Ekspert
04. december 2007 - 19:29 #7
du fandt ud af:

myQuery = myQuery.Replace(@"\", @"\\");

?

:-)

og et svar
Avatar billede arne_v Ekspert
04. december 2007 - 19:30 #8
om igen
Avatar billede arne_v Ekspert
04. december 2007 - 19:35 #9
og du burde virkeligt kigge paa parameters - ved en passende lejlighed
Avatar billede bjering Nybegynder
04. december 2007 - 19:58 #10
vil jeg.

Takker :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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