webForumDet fria alternativet

Add.New kontra Insert

Databaser & SQL

1 svar · 203 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1

Jag har gjort en iaktagelse och behöver en bekräftelse på om detta stämmer.

Tidigare skötte jag alltid alla Accessdatabas-uppdateringar med Add.New-kommandot men har på senare tid skippat den delen och kört direkt på SQL-kommandot "Connect.Execute("Insert..."

Problemet uppstår när när jag skall lägga in (eller uppdatera) en text som innehåller '-tecknet. Det verkar som om Add.New-varianten inte har några problem med detta men att det orsakar problem i SQL då '-tecknet anger en textsträng. När denna då dyker upp i texten som skall in i databasen tolkar SQL detta som ett slut och försöker köra resterande textinnehåll som ett kommando.

Detta har jag löst med nedanstående funktion som tar bort, för SQL, skadliga tecken:

Function Uppdatera(sfix)
  sfix = Replace(Trim(sfix), "'", "''")
  sfix = Replace(sfix, "|", "")
  Uppdatera = sfix
End Function

Well, har jag rätt eller fel i min nya uppenbarelse? (Detta är säkert vardagsmat för många av er men hej, man skall ju lära sig något nytt varje dag ).

Medlem sedan juni 200032 967 inlägg
#2

Du har rätt i din nya uppenbarelse. :)

Mvh

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