webForumDet fria alternativet

Spara McDonald's i databas

.NET

4 svar · 388 visningar · startad av bwcMikke

Medlem sedan okt. 2004159 inlägg
Frågan#1

Nu tar jag helg - jag blir tokig!

Jag skall spara order "McDonald's" i ett fält i en databas.
Problemet är att när jag bygger sql-strängen med ex.

strSqlQ += "namn = '" + strNamn+ "', ";

så används ju ' som avgränsare för strängar och jag får alltså 3st ' vilket kraschar sql-frågan.

Det finns säkert något smart sätt att lösa detta - men jag kan det inte.

Tack på förhand

/Mikke

Medlem sedan juni 200032 967 inlägg
#2

Gör en replace på apostrof till två apostrofer så borde det bli kanonläckert.

Mvh

Medlem sedan okt. 2004159 inlägg
#3

Re: Spara McDonald's i databas

Tack för snabbt svar. Jag vet inte än om det funkar - jag får ett annat fel:

Undantagsinformation: System.NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.

Källfel: 
Rad 474:					string strFileName = Path.GetFileName(MyPostedMember.FileName);
Rad 475:					strSqlQ += "', '" + arrFilename[i].Replace("'","''");
Rad 476:					strSqlQ += "', '" + arrBildtext[i+1].Replace("'","''");
Rad 477:				}

Felet inträffar på rad 476.
Jag är helt slut i huvudet - är det bara något skitfel?

Medlem sedan juni 200032 967 inlägg
#4

Nu är jag inte direkt någon stjärna på asp.net, men jag hade provat så här:

strSqlQ += "', '" + arrFilename[i].ToString().Replace("'","''");

Edit: efter att ha läst igen så är det nog helt off, men strunt samma. :)

Är du säker på att indexet i+1 finns i arrayen?

Medlem sedan okt. 2004159 inlägg
#5

Re: Spara McDonald's i databas

Tack för hjälpen @anders!

Nu funkar det!
Det sista problemet var nog att strängen inte var definierad. Jag gjorde en IF-sats som löste problemet.

280 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
153 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)