19. maj 2005 - 21:20
Der er
7 kommentarer
Problem med update/insert into
Kan man insætte eller opdatere et felt i en access-database på anden måde end at bruge enkelt-gnyffer f.eks.: INSERT INTO bruger (firma, adresse, by) VALUES ('Rick','Gaden 44','Kbh'); Problemet opstår hvis der i valuen også er en gryf, f.eks. Rick's VALUES ('Rick's','Gaden 44',Kbh);
Annonceindlæg fra Infor
Det gøres ved at erstatte med to apostroffer: VALUES ('Rick''s','Gaden 44','Kbh'); (firma, adresse, by) bør vel også være (firma, adresse, [by]) da by er et reserveret ord
Problemet er, at man ikke kan forudse hvad en bruger skriver i f.eks. et input-felt, så problemet har jeg nu løst ved er erstatte med en replace-funktion: ipf = Replace(ipf, "'", "''")
men smid et svar, så deler vi
Det kan gøres på en lidt smarter måde... I din database.asp som jeg går ud fra du includerer i alle dine filer indsætter du dette: Function FixSQL(strString) FixSQL = Replace(strString, "'", "''") End Function Og det bruger du så sådan her f.eks: strSQL = "Update Bruger Set Firma='" & FixSQL( strFirma ) & "', Adresse='" & FixSQL( strAdresse ) & "', By='" & FixSQL( strBy ) & "' Where Id=" & Chr(34) & intId & Chr(34) ' Udfør strSQL objConn.Execute strSQL Eller strSQL = "Insert Into Bruger (Firma, Adresse, By) VALUES ('" & FixSQL( strFirma ) & "','" & FixSQL( strAdresse ) & "','" & FixSQL( strBy ) & "')" ' Udfør strSQL objConn.Execute strSQL Bare en lille bemærkning fra mig... ;o)
Husk at "by" er et reserveret ord.. der skal derfor "[]" uden om det: ..adresse, [by])...
-> submann, fin idé, smid gerne et svar også....
Behøver ikke point for det... Ellers tak... ;o)
Kurser inden for grundlæggende programmering