03. marts 2004 - 09:35Der er
8 kommentarer og 1 løsning
Apostrofer i SQL sætning
Hej alle, Jeg har noget C# kode som indsætter/opdaterer nogle ting i min MS SQL database. Jeg har nogle strenge som indeholder apostrofer og dem ændrer jeg til to med Replace funktionen men nu er jeg træt af at der kommer for mange på. Hvordan gør jeg så jeg kan få apostroferne korrekt ind. Jeg har hørt noget om at jeg skal lave min sql sætninger på en anden måde. Noget med parametre. Nogle der ved hvordan og kan give nogle eksempler ?
Lige nu ser det således ud :
test= test.Replace("'","''"); sql = string.Format("INSERT INTO test VALUES('{0}'",test); myCommand = new SqlCommand(sql, myConnection); myCommand.ExecuteNonQuery();
Se jeg havde skrevet lidt forkert. Det er sådan her jeg har prøvet :
string test = txtTest.Text.Replace("'","''"); string SQL = "INSERT INTO test (test) VALUES (N'"+test+"')";
Forskellen er at der står et N foran det jeg indsætter som fortæller at det er Unicode. Jeg gør det fordi på et tidspunkt indsætter jeg japanske tegn men tror ikke det er det der gør at jeg får for mange apostrofer i min kode.
Til asjhoej :
hvis jeg har to strings henholdsvis string1 og string2 hvordan indsætter jeg dem i SQL sætningen som du har bygget op. Jeg er ikke helt med med parameterne men jeg tror det er der der skal gøres noget så den netop indsætter string1 og string2 i sqlen.
Tak for det. Det fungerede fint. Denne måde er vist også den smarteste måde at arbejde med databaser. Det gør det mere fejltolerant for input.
Synes godt om
Ny brugerNybegynder
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.