Avatar billede Lars Søndergaard Nybegynder
21. oktober 2005 - 12:09 Der er 8 kommentarer og
1 løsning

idé til replace funktion

jeg har en masse tekstfelter hvis indhold jeg skal gemme i db. Hvis der indtastes en apostrof får jeg en sql fejl.

string myinput = "Test'em";
//dvs jeg skal lave en:
myinput = myinput.Replace("'","''");
//på alle mine felter. Det er meget nedern :(

Nogen der har en god idé til en funktion til at fikse det ?
Avatar billede arne_v Ekspert
21. oktober 2005 - 12:15 #1
brug parameters !
Avatar billede the_party_dog Nybegynder
21. oktober 2005 - 12:16 #2
Arne_v: Skal han så ikke lave det som stored procedures? Eller har jeg misforstået noget der? De gange jeg har set parameters, er det brugt sammen med stored procedures.
Avatar billede arne_v Ekspert
21. oktober 2005 - 12:17 #3
du kan sagtens bruge parameters uden stored procedure
Avatar billede arne_v Ekspert
21. oktober 2005 - 12:19 #4
SqlCommand ins = new SqlCommand("INSERT INTO tabelnavn VALUES(@id,@str)", con);
ins.Parameters.Add("@id", SqlDbType.Int);
ins.Parameters.Add("@str", SqlDbType.VarChar);
ins.Parameters["@id"].Value = 1;
ins.Parameters["@str"].Value = tf.Text;
ins.ExecuteNonQuery();

ingen quote problemer !
Avatar billede arne_v Ekspert
21. oktober 2005 - 12:19 #5
muligvis

ins.Parameters.Add("@str", SqlDbType.VarChar, 50);

for at angive længden
Avatar billede the_party_dog Nybegynder
21. oktober 2005 - 12:25 #6
wow.. Arne jeg er og bliver dybt imponeret over dig, og din viden...
Avatar billede Lars Søndergaard Nybegynder
21. oktober 2005 - 13:12 #7
arne > hvis man skriver en apostrof vha params.. hvordan gemmes den så i databasen? hvis jeg laver en alm. string.replace, kommer den til at stå dobbelt i mit textfelt
Avatar billede arne_v Ekspert
21. oktober 2005 - 13:14 #8
både med params og med rå INSERT med dublering kommer der kun til at så en ' i
databasen
Avatar billede Lars Søndergaard Nybegynder
21. oktober 2005 - 14:44 #9
det det er et stort system jeg sidder med kan jeg ikke nå at lave alt om til params. det meste af min sql er dog allerede med params. jeg har i stedet lavet en lille rekursiv metode som søger alle textbokse igennem og erstatter apostrof med dobbelt apostrof :)
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

IT-JOB