20. marts 2003 - 22:47
Der er
15 kommentarer og 1 løsning
Insert Access
Hej, Hvad gør jeg dog forkert?? <%@ Language=VBScript %> <HTML><HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD> <BODY> <% Dim sSQL,conn,rs Set objConn = Server.CreateObject("ADODB.Connection") Set objRecord = Server.CreateObject("ADODB.Recordset") 'DSN less connection objConn.Provider = "Microsoft.Jet.OLEDB.4.0" objConn.ConnectionString = "Data Source=" & Server.MapPath("kartotek.mdb") objConn.open strsql = "Select * from kontakter" set objRecord = objConn.Execute (strsql) sSQL = "Insert into kontakter (Firmanavn,Telefon,Email,WWW, Kontaktperson, SaelgerId, Bemærkning) Values" & _ "('"& Request("Firmanavn") & "', '"& Request("Telefon") & "', '"& _ Request("Email") & "', '" & Request("WWW") & "','" & _ Request("Kontaktperson") & "','" & Request("SælgerId") & "', '"& _ Request("Bemærkning") & "')" objConn.Execute sSQL,adCmdText 'close the recordset rs.close set rs = nothing 'close the connection conn.close set conn = nothing %> <h2>Your details have been saved to the database<h2> <A HREF="login.asp">[Click here to go to login page]</A> </BODY> </HTML> Parameterne bliver postet korrekt fra min html side, men jeg får: Error Type: ADODB.Connection (0x800A0E7C) Parameter object is improperly defined. Inconsistent or incomplete information was provided. /Login/create.asp, line 27 Hilfe!
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
20. marts 2003 - 22:54
#1
Prøv med dette: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("kartotek.mdb") Conn.Open DSN SQL = "INSERT INTO Kontakter (Firmanavn, Telefon, Email, WWW, Kontaktperson, SaelgerID, Bemaerkning)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.Form("Firmanavn") & "', " SQL = SQL & "'" & Request.Form("Telefon") & "', " SQL = SQL & "'" & Request.Form("Email") & "', " SQL = SQL & "'" & Request.Form("WWW") & "', " SQL = SQL & "'" & Request.Form("Kontaktperson") & "', " SQL = SQL & Request.Form("SaelgerID") & ", " SQL = SQL & "'" & Request.Form("Bemaerkning") & "' " SQL = SQL & ")" 'Response.Write SQL Conn.Execute(SQL) Response.Write "Posten blev oprettet i databasen." %> Dette eksempel tager udgangspunkt i at du omdøber dit felt "Bemærkning" til "Bemaerkning" samt at SaelgerID er det eneste felt med datatypen Tal. Alle tekstfelter, er som du kan se, omgivet af plinger ('). /peter
20. marts 2003 - 22:55
#2
Du skal nok også lige tjekke og tilpasse navnene på mine Request.Form's for det er ikke sikkert de hedder det samme som de gør på din side.
20. marts 2003 - 22:57
#3
Jeg tester det lige!
20. marts 2003 - 23:02
#4
Jeg har lavet rettelserne, men beholdt SealgerId som en streng. Dog får jeg: Error Type: Microsoft JET Database Engine (0x80004005) Operation must use an updateable query. /Login/create.asp, line 24
20. marts 2003 - 23:03
#5
Create.asp = <%@ Language=VBScript %> <HTML><HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD> <BODY> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("kartotek.mdb") Conn.Open DSN SQL = "INSERT INTO Kontakter (Firmanavn, Telefon, Email, WWW, Kontaktperson, SaelgerID, Bemaerkning)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.Form("Firmanavn") & "', " SQL = SQL & "'" & Request.Form("Telefon") & "', " SQL = SQL & "'" & Request.Form("Email") & "', " SQL = SQL & "'" & Request.Form("WWW") & "', " SQL = SQL & "'" & Request.Form("Kontaktperson") & "', " SQL = SQL & "'" & Request.Form("SaelgerID") & "', " SQL = SQL & "'" & Request.Form("Bemaerkning") & "' " SQL = SQL & ")" 'Response.Write SQL Conn.Execute(SQL) Response.Write "Posten blev oprettet i databasen." %> <h2>Your login details have been saved to the database<h2> <A HREF="login.asp">[Click here to go to login page]</A> </BODY> </HTML>
20. marts 2003 - 23:08
#6
Har du husket at rette Bemærkning til Bemaerkning? Prøv lige at fjerne ' foran 'Response.Write SQL og så sætte ' foran Conn.Execute(SQL) istedet. Hvad skriver den så der?
20. marts 2003 - 23:16
#7
Den skriver: INSERT INTO Kontakter (Firmanavn, Telefon, Email, WWW, Kontaktperson, SaelgerID, Bemaerkning) VALUES ('ee', 'eee', 'eee', 'eee', 'eee', 'eee', 'eeee' )Posten blev oprettet i databasen. Your login details have been saved to the database [Click here to go to login page]
20. marts 2003 - 23:17
#8
Så det lader vel til at execute metoden er den skyldige?
20. marts 2003 - 23:35
#9
Nej det er den ikke. Prøv med denne kode: <%@ Language=VBScript %> <HTML><HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </HEAD> <BODY> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("kartotek.mdb") Conn.Open DSN SQL = "INSERT INTO Kontakter (Firmanavn, Telefon, Email, WWW, Kontaktperson, SaelgerID, Bemaerkning)" SQL = SQL & " VALUES (" SQL = SQL & "'" & Request.Form("Firmanavn") & "', " SQL = SQL & "'" & Request.Form("Telefon") & "', " SQL = SQL & "'" & Request.Form("Email") & "', " SQL = SQL & "'" & Request.Form("WWW") & "', " SQL = SQL & "'" & Request.Form("Kontaktperson") & "', " SQL = SQL & "'" & Request.Form("SaelgerID") & "', " SQL = SQL & "'" & Request.Form("Bemaerkning") & "'" SQL = SQL & ")" 'Response.Write SQL Conn.Execute(SQL) Response.Write "Posten blev oprettet i databasen." %>
21. marts 2003 - 08:53
#10
Den giver en Error Type: Microsoft JET Database Engine (0x80004005) Operation must use an updateable query. /Login/create.asp, line 24
21. marts 2003 - 09:33
#11
Har du dobbelttjekket navnet på selve databasen og felterne i databasen, samt datatyperne. Jeg mener ikke der skulle være noget galt med koden, såfremt alle felter er typen tekst.
21. marts 2003 - 09:42
#12
Felterne og navnene i db er korrekte - jeg gennemser lige det hele igen!
21. marts 2003 - 10:00
#13
21. marts 2003 - 10:09
#14
Nå ja selvfølgelig
21. marts 2003 - 13:07
#15
Du kæmpede for det - og får points... Det du skrev bruger jeg rent faktisk nu!
21. marts 2003 - 16:01
#16
Okay. Godt du fik det til at virke.
Kurser inden for grundlæggende programmering