Avatar billede nope Nybegynder
18. februar 1999 - 00:00 Der er 16 kommentarer og
1 løsning

Indsæt i database

Hej hvordan får jeg denne kode til at indsætte felterne i databasen forum.mdb ?

<%
&nbsp; &nbsp;set conn = server.createobject("ADODB.connection")

&nbsp; &nbsp;conn.Open "DBQ=c:\iissamples\anmeld\forum.mdb;DefaultDir=c:\iissamples\anmeld\;Driver={Microsoft Access Driver (*.mdb)}"

&nbsp; &nbsp;SQL = "INSERT INTO * forum"

&nbsp; &nbsp;set RS = conn.execute( SQL )

&nbsp;Rs.AddNew
&nbsp; &nbsp;Rs("forfatter") = Request.Form("forfatter")
&nbsp; &nbsp;Rs("email") = Request.Form("email")
&nbsp; &nbsp;Rs("besked") = Request.Form("besked")

&nbsp;Rs.Close
&nbsp;Set Rs = Nothing
%>
Avatar billede oliver Nybegynder
18. februar 1999 - 22:02 #1
Prøv med:

<%
set conn = server.createobject("ADODB.connection")

conn.Open "DBQ=c:\iissamples\anmeld\forum.mdb;DefaultDir=c:\iissamples\anmeld\;Driver={Microsoft Access Driver (*.mdb)}"

SQL = "INSERT INTO forum ( forfatter, email, besked) " & "VALUES ('" & Request.Form("forfatter") & "', '" & Request.Form("email") & "', '" & Request.Form("besked")& "');"

set RS = conn.execute( SQL )

Rs.Close
Set Rs = Nothing
%>

Avatar billede nicolai Nybegynder
19. februar 1999 - 07:53 #2
Grunden til det ikke virker er, at du blander 2 måder at gøre det på, sammen.
Du starter med en SQL og bruger bagefter ADO. Hold dig til en ting ad gangen. Svaret fra Oliver baserer sig på SQL, og jeg vedlægger en løsning med brug af ADO.

set conn = server.createobject("ADODB.connection")
conn.Open "DBQ=c:\iissamples\anmeld\forum.mdb;DefaultDir=c:\iissamples\anmeld\;Driver={Microsoft Access Driver (*.mdb)}"

RS.Open "Forum",Conn,3,3
RS.AddNew

Rs("forfatter") = Request.Form("forfatter")
Rs("email") = Request.Form("email")
Rs("besked") = Request.Form("besked")

RS.Update
RS.Close

Set Rs = Nothing
Avatar billede nope Nybegynder
19. februar 1999 - 13:02 #3
Jeg er ked af at sige det, men jeg får fejlmeddelelse når jeg udvider Olivers eksempel med felterne overskrift og date

Rækkefølgen er: overskrift, forfatter, email, besked, date

Men jeg får følgende fejl:
Der er en syntaksfejl i INSERT INTO-sætningen

Kode: SQL = "INSERT INTO forum ( overskrift, forfatter, email, besked, date) " & "VALUES ('" & Request.Form("overskrift") & "', '" & Request.Form("forfatter") & "', '" & Request.Form("email") & "', '" & Request.Form("besked") & "', '" & Request.Form("date")& "');"
Avatar billede rdj Nybegynder
19. februar 1999 - 14:15 #4
har du prøvet at sætte # tegn omkring date feltet
Avatar billede nope Nybegynder
19. februar 1999 - 19:46 #5
Feltet date er hermed droppet RS("date") = NOW() er bedre.
Avatar billede nope Nybegynder
19. februar 1999 - 22:47 #6
Jeg prøver igen ;-) Jeg får stadigvæk denne besked når jeg laver et eller andet om i INSERT INTO-sætningen:

Der er en syntaksfejl i INSERT INTO-sætningen

Det var ikke sådn at i gad at bruge et ½ minut på at komme med en løsning ? MANGE TAK
Avatar billede rdj Nybegynder
22. februar 1999 - 08:12 #7
Prøve denne funktion

function get_date(byref dv)
  if isdate(dv) then
    dv=cdate(dv)
    dv=day(dv) &"/"& monthname(month(dv),-1) &"/"& year(dv)
  else
    get_date=""
  end if
  if application("dbms")="Access" then
    get_date="#" & get_date & "#"
  else
    get_date=" ' " & get_date & " ' "
  end if
end function
Avatar billede rdj Nybegynder
26. februar 1999 - 09:04 #8
Hallo nope, har du selv løst problemet?
Avatar billede nope Nybegynder
26. februar 1999 - 13:24 #9
Ja ;-)
Avatar billede adria Nybegynder
05. marts 1999 - 21:02 #10
Hej Nope!
Kan du ikke fortælle hvordan du har løst
problemet ? Kan man nøjes med at indsætte nogle parameter, og ikke alle, fx lade autonummeringsfeltet være for sig selv ?
Avatar billede adria Nybegynder
05. marts 1999 - 21:09 #11
Mit problem er også som Nopes nedenstående:

set conntemp=server.createobject("adodb.connection")
conntemp.connectiontimeout = 120
conntemp.commandtimeout = 120
' DSNless connection to Access Database
cnpath="DBQ=" & server.mappath("kunde.mdb")

conntemp.open "driver={microsoft access driver (*.mdb)}; " & cnpath


strSQLstatement = "INSERT INTO * Tabel (Navn,Adresse,By,Telefon,Email) VALUES (" & request.querystring("navnmy") & ","& request.querystring("adressemy")& "," & request.querystring("myby") & ","& request.querystring("mytelefon")&","& request.querystring("myemail")&")"


conntemp.execute(strSQLstatement)
conntemp.close
set conntemp = nothing    
Avatar billede adria Nybegynder
05. marts 1999 - 21:11 #12
Det skal lige bemærkes at jeg for flg.
fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access 97 Driver] Syntax error in INSERT INTO statement

Avatar billede nope Nybegynder
06. marts 1999 - 16:41 #13
Prøv noget ligende nedestående. Husk at ændre den præcise adresse til databasen !

<%
Dim Connect, Query, rs
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=c:\test\database.mdb;DefaultDir=c:\test\;Driver={Microsoft Access Driver (*.mdb)}"

Set rs = Server.CreateObject("ADODB.Recordset")
Query = "SELECT * FROM Tabel"

RS.Open "Tabel", Connect, 3,3
rs.AddNew

Rs("Navn") = Request.Form("navnmy")
Rs("Adresse") = Request.Form("adressemy")
Rs("By") = Request.Form("myby")
Rs("Telefon") = Request.Form("mytelefon")
Rs("navn") = Request.Form("navn")
Rs("Email") = Request.Form("myemail")
rs.Update

rs.Close
%>
Avatar billede adria Nybegynder
07. marts 1999 - 12:17 #14
Hej Nope
Hvad er den præcise adresse, ude på
en server, jeg plejer bare at kalde
filen ved navn, og ikke sti ?
Avatar billede nope Nybegynder
08. marts 1999 - 16:04 #15
Sansynligvis c:/dit-ip-nr/database.mdb Spørg din udbyder !
Avatar billede rdj Nybegynder
09. marts 1999 - 08:46 #16
Prøv at checke dine server variables.

Denne kode ville vise dig dem.

    <TABLE BORDER>
    <CAPTION><B>Server Variables</B></CAPTION>
  <TR>
  <TD>Variable</TD>
  <TD>Value</TD>
  </TR>
  <%
  For EACH name IN Request.ServerVariables
  Response.Write("<TR><TD><B>"&name&"</B></TD>")
  Response.Write("<TD>" & Request.ServerVariables(name) & "</TD></TR> ")
  Next
Response.Write("HTTP_REFERER :" & Request.ServerVariables("HTTP_REFERER")) 
%>
  <A HREF="Server.asp">Server</A>
  </TABLE>
Avatar billede adria Nybegynder
17. marts 1999 - 17:19 #17
Jeg anvender nedenstående, og udfylder kun alle felter i databasen, undtagen autonummeringsfeltet. Hvordan sætter jeg en variabel til at være det autonummeringen tilgiver posten ?

Altså hvordan i nedenstående process, fremkommer en variabel med den værdi autonummerings feltet bliver ?

(Som jeg så senere kan bruge.)

Dim Connect, Query, rs
Set Connect = Server.CreateObject("ADODB.Connection")
cnpath="DBQ=" & server.mappath("kunde.mdb")

connect.open "driver={microsoft access driver (*.mdb)}; " & cnpath


Set rs = Server.CreateObject("ADODB.Recordset")
Query = "SELECT * FROM Tabel"

RS.Open "Tabel", Connect, 3,3
rs.AddNew

Rs("Navn") = mynavn
Rs("Adresse") = myadresse
Rs("By") = myby
Rs("Telefon") = mytelefon
Rs("Email") = myemail
rs("Dato") = mydato
rs("Time") = mytid
rs.Update


rs.Close
set rs=nothing
connect.close
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