Avatar billede martinm Nybegynder
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!
Avatar billede pfp Nybegynder
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
Avatar billede pfp Nybegynder
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.
Avatar billede martinm Nybegynder
20. marts 2003 - 22:57 #3
Jeg tester det lige!
Avatar billede martinm Nybegynder
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
Avatar billede martinm Nybegynder
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>
Avatar billede pfp Nybegynder
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?
Avatar billede martinm Nybegynder
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]
Avatar billede martinm Nybegynder
20. marts 2003 - 23:17 #8
Så det lader vel til at execute metoden er den skyldige?
Avatar billede pfp Nybegynder
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."
%>
Avatar billede martinm Nybegynder
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
Avatar billede pfp Nybegynder
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.
Avatar billede martinm Nybegynder
21. marts 2003 - 09:42 #12
Felterne og navnene i db er korrekte - jeg gennemser lige det hele igen!
Avatar billede pfp Nybegynder
21. marts 2003 - 10:09 #14
Nå ja selvfølgelig
Avatar billede martinm Nybegynder
21. marts 2003 - 13:07 #15
Du kæmpede for det - og får points... Det du skrev bruger jeg rent faktisk nu!
Avatar billede pfp Nybegynder
21. marts 2003 - 16:01 #16
Okay. Godt du fik det til at virke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester