webForumDet fria alternativet

Ny med ASP! Enkla frågor antar jag..

ASP

109 svar · 2 570 visningar · startad av tranceformer · sida 4 av 6

Frågan, av tranceformer

Jag har börjat med lite ASP och håller på att göra en butik, en väldigt enkel sådan till att börja med! Det jag ska göra är att ta informationen från textrutorna(enbart textrutor) i formen, och lägga in den i en databas. Till att börja med undrar jag ifall alla sidor ska sluta med .asp ifall man bara behöver ASP-kod på butiken. Jag har använt mig av[Haneng.com](http://www.haneng.com/lessons13.a

Läs frågan i sin helhet →
Medlem sedan juni 2004128 inlägg
#61

Haha ok!
Ska alltid komma ihåg det ;)

Medlem sedan juni 2004128 inlägg
#62

Jag mår lite konstigt i huvudet och så pga vissa personliga grejer, och jag har hållt på och försökt fixa med att sätta ihop olika koder, så att jag tror att jag har blandat ihop och är helt fel ute, men här har ni koden:

Dim objConn
   Dim objRS
   Set objRS = Server.CreateObject("ADODB.Recordset")
   Set objConn = Server.CreateObject("ADODB.Connection")
   
   objConn.ConnectionString="  DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql1.kontrollpanelen.se;DATABASE=[min databas];UID=[mitt användarnamn];PWD=[mitt lösen];"
   SQL = "INSERT INTO (dbNamn,dbAdress,dbPostadress,dbEmail,dbTelefonnr,dbVin,dbChampagne,dbCoctail,dbSnaps,dbCelter,dbGrogg) VALUES ('" & Request.Form("namn") & "', '" & Request.Form("adress") & "', '" & Request.Form("postadress") & "', '" & Request.Form("email") & "', '" & Request.Form("telefonnr") & "', '" & Request.Form("antal vinglas") & "', '" & Request.Form("antal champagneglas") & "', '" & Request.Form("antal coctailglas") & "', '" & Request.Form("antal snapsglas") & "', '" & Request.Form("antal celterglas") & "', '" & Request.Form("antal grogglas") & "')"
   objConn.Open
   Set objRS = db.Execute(SQL),,128

   objRS.Close
   Set objRS = nothing
   db.Close
   Set db = nothing

   Response.Redirect "Klar.asp"

Jag får samma fel som alldeles nyss...
Någon som ser vad det är?
Är helt ny på området kan tilläggas också ;)

Medlem sedan mars 20033 686 inlägg
#63

Okej, dum fråga kanske, men har du ändrat "Min databas" osv. till just din databas?

Sådant glömmer man ofta när man inte är helt klar i skallen :)

Det vet jag av egen erfarenhet :e

Medlem sedan juni 2004128 inlägg
#64

Jodå :) Men jag vill ju inte att vem som helst ska kunna kolla ;) Ändrade det nu innan jag skrev inlägget, så det är lugnt :)

Medlem sedan nov. 20017 144 inlägg
#65

Du kan inte ha en radbrytning på raden som börjar med SQL =.
Är det siffror som skall lagras i databasen och du har databasfältet som integer så skall det inte vara enkelfnuttar runt värdena ifrån request.form.
Jag skulle även ta bort mellanrummet i formulärnamnen

Medlem sedan juni 2004128 inlägg
#66

Radbrytningen kom nu när jag skrev inlägget... det andra ska jag kolla på! Tack för hjälpen!

Medlem sedan juni 2004128 inlägg
#67

Vad gör man åt det här? Har sökt på massor med ställen...:(
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/insert.asp, line 27

Set objRS = db.Execute(SQL),,128

Medlem sedan juni 2004128 inlägg
#68

Vart kan man få hjälp med errors?
Jag har sökt på Microsofts sida och på flera andra, men jag hittar ingen lösning på problemet här ovan...
Det är extra svårt också eftersom jag inte förstår riktigt vad alla tecken betyder!
Jag har testat med allt möjligt, men det blir alltid något fel...

Snälla...hjälp mig!

Medlem sedan mars 20033 686 inlägg
#69

Google kan vara en idé :)

http://www.google.se/search?q=800a0401&ie=UTF-8&hl=sv&meta=

Medlem sedan juni 2004128 inlägg
#70

Att jag inte tänkte på det :r
Fick upp den här sidan , men grejen är den att eftersom jag inte kan så mycket ASP vet jag inte riktigt hur det ska se ut. Kan någon duktig och vänlig själ komma med förslag på vad som kan göras?

Det har någonting att göra med det första kommat på den här raden kan tilläggas... Set objRS = db.Execute(SQL),,128

Medlem sedan juni 200032 967 inlägg
#71

Om du visar koden som förorsakar felet så kan vi säkert berätta vad du gjort fel och hur det ska se ut. :)

mvh

Medlem sedan juni 2004128 inlägg
#72

Här har ni min kod som den ser ut för tillfället.
Jag har försökt knåpat ihop den genom alla tips jag fått här och från andra sidor.

<%
   Dim objConn
   Dim objRS
   Set objRS = Server.CreateObject("ADODB.Recordset")
   Set objConn = Server.CreateObject("ADODB.Connection")
   
   objConn.ConnectionString="DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql1.kontrollpanelen.se;DATABASE=mydatabase;Port=3306;Option=131072;Stmt=Database=mydatabase;UID=username;PWD=password;"
   SQL = "INSERT INTO information(dbNamn,dbAdress,dbPostadress,dbEmail,dbTelefonnr,dbVin,dbChampagne,dbCoctail,dbSnaps,dbCelter,dbGrogg) VALUES ('" & Request.Form("namn") & "', '" & Request.Form("adress") & "', '" & Request.Form("postadress") & "', '" & Request.Form("email") & "', '" & Request.Form("telefonnr") & "', '" & Request.Form("vinglas") & "', '" & Request.Form("champagneglas") & "', '" & Request.Form("coctailglas") & "', '" & Request.Form("snapsglas") & "', '" & Request.Form("celterglas") & "', '" & Request.Form("grogglas") & "')"
   objConn.Open
   
   Set objRS = db.Execute (SQL),,128

   objRS.Close
   Set objRS = nothing
   db.Close
   Set db = nothing

   Response.Redirect "Klar.asp"
%>

I min riktiga kod har jag fyllt i de riktiga uppgifterna med databasnamn och lösenord.

Det som ska göras är alltså att lägga in värdena från textrutorna till databasen.

Titta gärna efter småfel såsom fel tecken eller saknaden av tecken osv, eftersom jag inte vet vad alla tecken är till för.

Medlem sedan juni 200032 967 inlägg
#73

Jag vet inte om det har med saken att göra, men det ser knepigt ut att du har parentes runt SQL. Prova att plocka bort den:

Set objRS = db.Execute SQL,,128

Jag antar att inte radbrytningarna i din connectionstring och i SQL-frågan finns där egentligen, utan dyker upp här på forumet?

mvh

Medlem sedan maj 200010 687 inlägg
#74

magnusfernstrom skrev:

Vilken version använder du dig av HTML när du spara i .html? :)

Det anger man ju med DOCTYPE längst upp i HTML-dokumentet.

Medlem sedan juni 2004128 inlägg
#75

@nders skrev:

Jag vet inte om det har med saken att göra, men det ser knepigt ut att du har parentes runt SQL. Prova att plocka bort den:

Set objRS = db.Execute SQL,,128

Det testade jag själv förut, men då får man ett annat fel. Ska kolla upp och se vad det är för fel.

@nders skrev:

Jag antar att inte radbrytningarna i din connectionstring och i SQL-frågan finns där egentligen, utan dyker upp här på forumet?

Ja radbrytningarna kommer här i forumet..

Medlem sedan juni 2004128 inlägg
#76

Tar jag bort parenteserna får jag det här felmeddelandet:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/insert.asp, line 28

Set objRS = db.Execute SQL,,128
-----------------------^

Alltså samma fast på "SQL"...

Måste man inte ange db på något sätt, precis som objConn och objRS? Eller vet det vad det är automatiskt?

Medlem sedan juni 200032 967 inlägg
#77

Nu ser jag. Du har ju skapat objektet objConn. Då är det det du ska använda, inte db.

mvh

Medlem sedan juni 2004128 inlägg
#78

Blir fortfarande samma felmeddelande. :(
Hur ser koden ut annars?

Medlem sedan juni 200032 967 inlägg
#79

Jag kan inte riktigt se något som gör att det skulle bli fel, förutom att du försöker skapa ett recordset, samtidigt som du säger till att inget recordset skall skapas. Prova att byta raden som borde se ut så här:

   Set objRS = objConn.Execute SQL,,128

Mot:

   objConn.Execute SQL,,128

Mvh

Medlem sedan juni 2004128 inlägg
#80

Då får jag detta:

ADODB.Recordset error '800a0e78'

Operation is not allowed when the object is closed.

/insert.asp, line 32

:(

Hittade den här koden någonstans..skulle den vara bättre att använda? Förstår den inte riktigt på vissa ställen, även om den är ganska lik min kod..

<html>
<body><%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"sql="INSERT INTO customers (customerID,companyname,"
sql=sql & "contactname,address,city,postalcode,country)"
sql=sql & " VALUES "
sql=sql & "('" & Request.Form("custid") & "',"
sql=sql & "'" & Request.Form("compname") & "',"
sql=sql & "'" & Request.Form("contname") & "',"
sql=sql & "'" & Request.Form("address") & "',"
sql=sql & "'" & Request.Form("city") & "',"
sql=sql & "'" & Request.Form("postcode") & "',"
sql=sql & "'" & Request.Form("country") & "')"on error resume next
conn.Execute sql,recaffected
if err<>0 then
  Response.Write("No update permissions!")
else 
  Response.Write("<h3>" & recaffected & " record added</h3>")
end if
conn.close
%>

</body>
</html>
266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)