Avatar billede tolveren Nybegynder
24. januar 2006 - 21:55 Der er 12 kommentarer

Apostrof - formatet

Jeg har nu læst en hel masse om apostrofproblemer i ASP og SQL.
Jeg har en asp kode:

<%
'Oprettelse af connection
'------------------------
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb"
set Conn = server.createobject ("ADODB.connection")
Conn.Open strConnect

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function


SQL = "INSERT into ordrer ("
SQL = SQL + "navn,"
SQL = SQL + "adresse,"
SQL = SQL + "bem"

SQL = SQL + ") VALUES ('"
SQL = SQL + Request.Form("navn") + "','"
SQL = SQL + Request.Form("adresse")  + "','"
SQL = SQL + Request.Form("bem")  + "')"

Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
'Response.Write (SQL)
Response.Redirect "test.asp"
%>

Jeg har lavet en function som skal indsætte en ekstra apostrof, men hvordan får jeg sat funktionen ind på :
SQL + Request.Form("navn") + "','"
så jeg kan indsætte f eks navnet M'Arthur i min accesdatabase.
Håber der er en som lige kan den korrekte kode og vil hjælpe mig.
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 22:02 #1
SQL = SQL + fixSQL(Request.Form("navn")) + "','"
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 22:03 #2
Og så plejer man at bruge & i VBScript

SQL = SQL & fixSQL(Request.Form("navn")) & "','"
Avatar billede tolveren Nybegynder
24. januar 2006 - 22:15 #3
Jeg tester lige. Men det der "+" virker ellers helt OK.
Avatar billede tolveren Nybegynder
24. januar 2006 - 22:27 #4
Det virker ikke hos mig. Der må være en kommafejl eller parantes som sidder forkert. Har du en ide ?
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 22:29 #5
Nej, jeg er ikke synsk. Jeg er rimelig sikker på at det jeg foreslår virker.
Avatar billede tolveren Nybegynder
24. januar 2006 - 22:40 #6
Ok. Jeg prøver i morgen. Tak for hjælpen anyway.
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 22:43 #7
Du kunne evt bare fortælle hvad din fejl er, og vise din kode. Det er sådan set det jeg mener med, at jeg ikke er synsk.
Avatar billede tolveren Nybegynder
24. januar 2006 - 22:47 #8
Ok. Men hele koden vises. Jf ovst. Fejlen består i at sql-ellen ikke bliver kørt
Avatar billede tolveren Nybegynder
24. januar 2006 - 22:51 #9
Undskyld her er koden som jeg forsøger at køre:

<%
'Oprettelse af connection
'------------------------
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb"
set Conn = server.createobject ("ADODB.connection")
Conn.Open strConnect

function fixSQL(strS)
  fixSQL = replace(strS, "'", "''")
end function


SQL = "INSERT into ordrer ("
SQL = SQL + "navn,"
SQL = SQL + "adresse,"
SQL = SQL + "bem"

SQL = SQL + ") VALUES ('"
SQL = SQL + fixSQL(Request.Form("navn")) + "','"
SQL = SQL + Request.Form("adresse")  + "','"
SQL = SQL + Request.Form("bem")  + "')"

'sql=sql & "Tidsstempel='" & now() & "' WHERE ordrer.[no]=" & no
'sql=sql & "Bruger='" & email & "' WHERE ordrer.[no]=" & no


Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
'Response.Write (SQL)
Response.Redirect "test.asp"
%>
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 22:57 #10
"Men hele koden vises"  ?? Den fik jeg ikke. Men start med at udskifte + med &  for ellers er der ingen grund til at lede efter fejl.
Avatar billede tolveren Nybegynder
24. januar 2006 - 23:25 #11
Du har ret i at SQL kører ok. Der er noget andet galt og det er ikke de der "+".
Jeg må se på det i morgen. Tak for hjælpen. Læg et svar og du får point min ven.
Avatar billede erikjacobsen Ekspert
24. januar 2006 - 23:29 #12
Jeg samler slet ikke på point, tak.
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
Kurser inden for grundlæggende programmering

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