webForumDet fria alternativet

Behöver nybörjar hjälp

ASP

8 svar · 169 visningar · startad av Nicklas

Medlem sedan juni 200133 inlägg
Frågan#1

Jag håller på att bli tokig, vad är det för fel i denna kod ? -->

Default.asp

<html>
<body>
	<form method="POST" action="link.asp">
	<input type="text" size="30" name="namn" value="Adress"><br>
	<input type="text" size="30" name="desc" value="Beskrivning"><br>
	<input type="submit" value="Uppdatera">
	</form>
</body>
</html>

Och så link.asp

<%
Set Databas = Server.CreateObject("Adodb.Connection")
Databas.Provider = "Microsoft.Jet.OLEDB.4.0" 
MdbFilePath = Server.MapPath("\databas\db1.mdb")
Databas.ConnectionString = "Data Source = '"&MdbFilePath&"'"
Databas.open

namn = Request.Form("namn")
desc = Request.Form("desc")

strSQL = "Insert Into db"
strSQL = srtSQL & "( namn, desc )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"');"

Response.write( strSQL )
Databas.Execute( strSQL )
%>

Jag får följande felmeddelande:

Feltyp:
Microsoft JET Database Engine (0x80004005)
Syntaxfel i unionsfråga.
/databas/link.asp, line 13

Plz Help / Nicklas

Medlem sedan dec. 19996 522 inlägg
#2

heter din tabell db ?

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan juni 200133 inlägg
#3

Japp, jag har försökt med alla möjliga namn, skapat nya databaser med andra namn osv.

Tabellen heter db och fälten namn & desc

Medlem sedan dec. 200012 464 inlägg
#4

Desc är ett reserverat ord i SQL, så det är inget bra som kolumnnamn.

Det är bäst om du kan döpa om kolumnen.

Annars så kan du skriva

strSQL = "Insert Into db"
strSQL = srtSQL & "( namn, [desc] )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"');"

om du använder Access,SQL server 7 eller Sybase.

Om inte så är den standardmässiga syntaxen att ange sådana namn inom ""

strSQL = "Insert Into db"
strSQL = srtSQL & "( namn, ""desc"" )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"');"

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200133 inlägg
#5

Jag testade men inget av det funkade.

Men om jag skriver -->

<%
Set Databas = Server.CreateObject("Adodb.Connection")
Databas.Provider = "Microsoft.Jet.OLEDB.4.0" 
MdbFilePath = Server.MapPath("\databas\db1.mdb")
Databas.ConnectionString = "Data Source = '"&MdbFilePath&"'"
Databas.open

strSQL = "Insert Into db (namn, [desc]) Values('Test','testigen')"

Response.write( strSQL )
Databas.Execute( strSQL )
%>

Så funkar det.

Har jag missat något i följande ?

namn = Request.Form("namn")
desc = Request.Form("desc")

strSQL = "Insert Into db"
strSQL = srtSQL & "( namn, [desc] )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"')"

Kan tillägga att jag kör med Win2k, IIS5.0 och Access 2000

/Nicklas

Medlem sedan dec. 200012 464 inlägg
#6

vad händer när du kör den koden? Dvs

strSQL = "Insert Into db"
strSQL = srtSQL & " ( namn, [desc] ) "
strSQL = strSQL & "Values('" & namn & "','" & desc & "')"

Något felmeddelande?

Hur ser strSQL ut?

Innehåller något av fälten en '?

I så fall så får du skriva

namn = replace(Request.Form("namn"),"'","''")
desc = replace(Request.Form("desc"),"'","''")

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200133 inlägg
#7

Jag får samma felmeddelande.

Jag ska testa att börja om från början med en ny databas andra namn osv en tredje gång :(

Medlem sedan maj 200180 inlägg
#8

Hallå!

Jag vet inte om det kan vara några av de sakerna som de andra har sagt också men det jag skulle ändra på först är:

strSQL = "Insert Into db"
strSQL = srtSQL & "( namn, desc )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"');"

Byt ut den mot:

strSQL = "Insert Into db"
strSQL = [b]strSQL[/b] & "( namn, desc )"
strSQL = strSQL & "Values('"&namn&"','"&desc&"');"

Sen kanske du får göra några av de andra sakerna också.

[Redigerat av Cy-4 den 04 okt 2001]

Medlem sedan juni 200133 inlägg
#9

Skriiik, ett stavfel.

Tack nu funkar det allt som det ska.

299 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
172 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)