webForumDet fria alternativet

Unterminated string constant ???

5 svar · 326 visningar · startad av webbSAJTEN

webbSAJTENMedlem sedan jan. 2002992 inlägg
#1

Tjenare!
Jag håller på att göra en dagboksfunktion till mig sida..
Jag använder mig av Access och har fyra kollumner:
ID, User, Rubrik & Inlägg.
Jag vet inte hur man gör för att skriva in datumet, fast det är nästa problem..
När jag ska skriva i min dagbok så får jag detta fel:

Unterminated string constant

/trana/dagbok_spara.asp, line 11

strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES ('" & Request.Form("rubrik")& "', '" & Replace(Request.Form("inlagg") & "')

På rad 11:

strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES ('" & Request.Form("rubrik")& "', '" & Replace(Request.Form("inlagg") & "')
  objConn.Execute(strSQL),,128

Vad är felet?

tohaMedlem sedan dec. 1999707 inlägg
#2

Felet beror troligtvis på att man skriver en, eller flera, apostrofer och/eller citattecken (dvs ' eller "). Jag tror du går runt problemet om du ersätter ett apostroftecken mot två st.

strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES ('" & Replace(Request.Form("rubrik"), "'", "''") & "', '" & Replace(Request.Form("inlagg"), "'", "'') & "')

Missade att det redan var en replace-funktion i din kod. :r Men den saknade två argument. Troligtvis var det det som är felet...

webbSAJTENMedlem sedan jan. 2002992 inlägg
#3

Inte..

Jag får det inte att fungera.. Det kanske är bättre om ni får hela koden i dagbok_spara.asp

<%
Dim objConn, strSQL, objRS
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("trana.mdb")

strSQL = "SELECT ID, rubrik, inlagg FROM dagbok"

Set objRS = objConn.Execute(strSQL)

If objRS.EOF Then
strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES ('" & Replace(Request.Form("rubrik"), "'", "''") & "', '" & Replace(Request.Form("inlagg"), "'", "'') & "')

  objConn.Execute(strSQL),,128
Else
strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES ('" & Replace(Request.Form("rubrik"), "'", "''") & "', '" & Replace(Request.Form("inlagg"), "'", "'') & "')

  objConn.Execute(strSQL),,128
End If

Set objRS = Nothing
objConn.Close : Set objConn = Nothing

Response.Redirect("skriv_dagbok.asp")
%>
LarsGMedlem sedan dec. 200012 464 inlägg
#4
strSQL = "INSERT INTO dagbok (rubrik, inlagg) VALUES " & _
" ('" & Replace(Request.Form("rubrik"), "'", "''") & "', '" & _
Replace(Request.Form("inlagg"), "'", "'') & "')"

Jag förstår inte varför du gör select först. Det är ju ingen skillnad på dina INSERT.

webbSAJTENMedlem sedan jan. 2002992 inlägg
#5

nej..

Jag får den inte att fungera ändå..
Jag får inget direkt felmess utan den efter att den kommit till dagbok_spara.asp så kommer den tillbaka till sidan men inget har sparats i databasen..

Jag fick ett felmeff på en annan sida med ungefär samma kod:

Invalid character

/trana/regga_check.asp, line 11

strSQL = "INSERT INTO tranare (anvandare, losenord) VALUES " & _" ('" & Replace(Request.Form("namn"), "'", "''") & "', '" & _Replace(Request.Form("losen"), "'", "'') & "')"

VALUES " & _" ('" & Replace

Det var på det andra " som den säger att det är fel!

Nexus86Medlem sedan okt. 20023 030 inlägg
#6

Re: nej..

strSQL = "INSERT INTO tranare (anvandare, losenord) VALUES ('" & Replace(Request.Form("namn"), "'", "''") & "', '" & Replace(Request.Form("losen"), "'", "''") & "')"

Så kanske?

r/ Fast om du prompt vill ha med de där nya raderna:

strSQL = "INSERT INTO tranare (anvandare, losenord) VALUES " _
          &  "('" & Replace(Request.Form("namn"), "'", "''") & "', '" _
          & Replace(Request.Form("losen"), "'", "''") & "')"
134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)