Börja med att ändra så databassökvägen, och tabell- och fältnamn i SQL-frågan stämmer överens med hur det ser ut hos dig.
Se också till att bestämma dig för vad du vill kalla ditt connectionobjekt.
5 svar · 538 visningar · startad av costodia
Jag började med att ställa frågan i denna tråden
http://www.webforum.nu/showthread.php?s=&threadid=117631
men den blev så kladdig att jag fortsatte i denna
http://www.webforum.nu/showthread.php?s=&threadid=117802&forumid=22
och nu ill jag börja om på nytt och skriverhelt och hållet från början.
Jag vill ha ett superenkelt skript, nämligen ett skript som skriver ut en post.
Säg till att jag vill skriva ut all data som finns i min adressdatabas i tabellen "Radannonser"
I den finns kolumnerna
ID
datum
kategori
rubrik
annonstext
namn
telefon
epost
och jag vill göra det genom en databasfråga via url:en
såhära: http://mindomän.com/annons.asp?id=1
Jag har försökt med koden:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sökvägen tilldatabasen.mdb")
SQL = "SELECT, intID, strName, strText, strEmail FROM [annons] " _
& " WHERE intID = " & request("ID")
set mySQL = Conn.Execute(SQL)
response.write "ID = " & mySQL(0)
response.write "Namn = " & mySQL(1)
response.write "Text = " & mySQL(2)
response.write "E-post = " & mySQL(3)
Connect.Close
%>
men det blir inte rätt,
så vad gör jag för fel?
Börja med att ändra så databassökvägen, och tabell- och fältnamn i SQL-frågan stämmer överens med hur det ser ut hos dig.
Se också till att bestämma dig för vad du vill kalla ditt connectionobjekt.
jag gjorde såhär
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/script/eannons.mdb")
SQL = "SELECT, intID, strDatum, strKategori, strRubrik, strAnnonstext, strNamn, strTelefon, strEpost FROM [radannons] " _
& " WHERE intID = " & request("ID")
set mySQL = Connect.Execute(SQL)
response.write "ID = " & mySQL(0)
response.write "Datum = " & mySQL(1)
response.write "Kategori = " & mySQL(2)
response.write "Rubrik = " & mySQL(3)
response.write "Annonstext = " & mySQL(4)
response.write "Telefon = " & mySQL(5)
response.write "Epost = " & mySQL(6)
Connect.Close
%>
server svarar nu
"Microsoft JET Database Engine error '80040e14'
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
/eannons/annons.asp, line 17
"
och linje 17 är
set mySQL = Connect.Execute(SQL)
Enligt ditt tidigare inlägg heter inte alls fälten som du har skrivit i SQL-frågan?
i mitt förra inlägg tänkte jag helt fel, jag blandade ihop det med en annan databas.
tabeller heter alltså radannonser och kolumnerna heter
ID
datum
kategori
rubrik
annonstext
namn
telefon
epost
strSQL = "SELECT * FROM radannonser WHERE ID = " & Request.Querystring("ID") ' här får du se till att akta dig för sql injection. Övning till läsaren!
set objRS = Connect.Execute (strSQL)
If not objRS.EOF Then
Response.write objRS("fältnamn") ' etc
End if