heter din tabell db ?
------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !
8 svar · 169 visningar · startad av Nicklas
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
heter din tabell db ?
------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !
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
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
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
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
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 :(
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]