Avatar billede tahoo Nybegynder
04. oktober 2002 - 00:22 Der er 3 kommentarer og
3 løsninger

indset i db

hejsa

jeg har lige et spørgsmål - jeg har et lille script, som henter alt fra en db som hedder "indkob" hvor en sessionid = et tal.

hvordan gør jeg sådan at det den henter bliver lagt over i en andet tabel ved navn "order"

------------------------------------------------

script :
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "SELECT * from indkob where sessionid = (" & session.sessionid & ")"
Set rs = Conn.Execute(strSQL)
%>


<%
rs.Close
Conn.Close
%>
Avatar billede chrlilje Nybegynder
04. oktober 2002 - 00:28 #1
http://www.mysql.com/doc/en/INSERT_SELECT.html

INSERT INTO tblTemp2 (fldID) SELECT tblTemp1.fldOrder_ID FROM tblTemp1 WHERE
tblTemp1.fldOrder_ID > 100;
Avatar billede chrlilje Nybegynder
04. oktober 2002 - 00:29 #2
hmm. ja ok. det er jo ikke mysql, men det burde være det samme.
Avatar billede tahoo Nybegynder
04. oktober 2002 - 01:14 #3
kan ikke helt få det til at virke...

kan du forklare den lidt mere...
Avatar billede rasmuslund Nybegynder
04. oktober 2002 - 08:50 #4
Prøv sådan her:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "SELECT * from indkob where sessionid = (" & session.sessionid & ")"
Set rs = Conn.Execute(strSQL)

insertSQL = ""
' OPBYG EN SQL STRENG MED ALLE INSERT
do while not rs.eof
    insertSQL = insertSQL & "INSERT INTO Order (felt1,felt2,felt3,etc.) VALUES (værdi1,værdi2,værdi3,etc.) "
    rs.movenext
loop
Set insertrs = Conn.Execute(insertSQL)
Set insertrs = nothing

rs.Close
Conn.Close
%>

Er dog ikke helt sikker på at Access kan klar en streng med flere insert i men ellers må du bare fyre dem af hvergang.

/Rasmus :-)
Avatar billede eagleeye Praktikant
04. oktober 2002 - 10:24 #5
order er reserveret ord i SQL så du skal også havde [] omkring eks på koden kunne være:


Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "SELECT * from indkob where sessionid = (" & session.sessionid & ")"
Set rs = Conn.Execute(strSQL)

do while not rs.eof

  SQL = "INSERT INTO [Order] (kolonne1,kolonne2,kolonne3,...) VALUES ("
  SQL = SQL "'" & rs("gammel_kolonne1") & "', "
  SQL = SQL "'" & rs("gammel_kolonne2") & "', "
  SQL = SQL "'" & rs("gammel_kolonne3") & "', "
  ... tilføj flere her do skal der ikke være , før )
  SQL = SQL & ")"
  Conn.Execute(SQL)

  rs.movenext
loop


Hvis det er tal kolonner så skal der ikke ' omkring eks:
  SQL = SQL & rs("gammel_tal_kolonneX") & ", "

Hvis det er defineret som dato/tids felt skal der # men måske virker ' også til dato..:
Hvis det er tal kolonner så skal der ikke ' omkring eks:
  SQL = SQL & "#" & rs("gammel_dato_kolonneX") & "#, "
Avatar billede tahoo Nybegynder
04. oktober 2002 - 11:09 #6
tak for hjælpen alle sammen - jeg kunne få eagleeye til at virke :-) takker
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