webForumDet fria alternativet

Skriva ut post ur databas via url:en

ASP

5 svar · 538 visningar · startad av costodia

Medlem sedan aug. 2000864 inlägg
Frågan#1

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?

Medlem sedan juni 200032 967 inlägg
#2

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.

Medlem sedan aug. 2000864 inlägg
#3

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)
Medlem sedan juni 200032 967 inlägg
#4

Enligt ditt tidigare inlägg heter inte alls fälten som du har skrivit i SQL-frågan?

Medlem sedan aug. 2000864 inlägg
#5

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

Medlem sedan juni 200032 967 inlägg
#6
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
257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)