Just nu i M3-nätverket
Gå till innehåll

Två sql-satser


Micke_skane

Rekommendera Poster

Micke_skane

Hej Jenny,

 

EDIT: FÅTT AddNew ATT LÄGGA IN I TVÅ TABELLER!!!

KOLLAT PÅ W3C ANG GROUP BY!!! BRA SIDA!!!

SKA TESTA LITE :)

 

Håller med dig att tråden gör lite som den vill...:)

 

Angående statistisken så ska jag kolla upp vad du menade samt "läsa mellan raderna" vad som händer i satserna. Dags att lära sig en Ny sak :thumbsup:

 

Jag har försökt att lägga in värden i TVÅ tabeller efter varandra men inte lyckats.

Provat Två olika metoder: metod 1=INTO samt metod 2=AddNew

Får bara att sidan inte kan ses om jag kör båda AddNew och om jag kör en av INTO-varianterna får jag samma svar.

 

Koden:

[log]

<%

 

' ** Skapa mer hanterliga variabler **

Dim manad, artiklar, anstallda, yta, fornamn, efternamn, alder, kon, postnummer, stad, epost, meddelande, svarat_ratt

 

manad = Request.Form("manad")

artiklar = Request.Form("artiklar")

anstallda = Request.Form("anstallda")

yta = Request.Form("yta")

fornamn = Request.Form("vinna_fornamn")

efternamn = Request.Form("vinna_efternamn")

alder = Request.Form("alder")

kon = Request.Form("kon")

postnummer = Request.Form("postnummer")

stad = Request.Form("stad")

epost = Request.Form("epost")

meddelande = Request.Form("meddelande")

 

'#======Kolla om dem svarat rätt=======#

'If artiklar <> "10000" Or anstallda <> "40" Or yta <> "6000" Then

'svarat_ratt = False

'Else

'svarat_ratt = True

'End If

'#======Lägg in i två tabeller=======#

'Set Conn = Server.CreateObject("ADODB.Connection")

'ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2/tavlingen.mdb")

'Conn.Open ConnString

'sSql = "Insert INTO vinst_urval (svarat_ratt, urval_manad, urval_fornamn, urval_efternamn, urval_alder, urval_kon, urval_postnummer, urval_stad, urval_epost, meddelande) Values ('"& svarat_ratt &"', '"& manad &"', '"& fornamn &"', '"& efternamn &"', '"& alder &"', '"& kon &"', '"& postnummer &"', '"& stad &"', '"& epost &"', '"& meddelande &"')"

'Set rs = Conn.Execute(sSql)

'Sql = "Insert INTO tavling_statistik (manad, fornamn, efternamn, alder, kon, postnummer, stad, epost, meddelande) Values ( '"& manad &"', '"& fornamn &"', '"& efternamn &"', '"& alder &"', '"& kon &"', '"& postnummer &"', '"& stad &"', '"& epost &"')"

'Set rs = Conn.Execute(Sql)

 

' *===== Lägga in data====== **

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db2/tavlingen.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")

'#=====Lägg in i första tabellen=========#

'SQL = "Select * From vinst_urval Where 1=2"

'rs.Open SQL, Conn, 1,2

'rs.AddNew

'If artiklar <> "10000" Or anstallda <> "40" Or yta <> "6000" Then

'rs("svarat_ratt") = False

'Else

'rs("svarat_ratt") = True

'End If

'rs("urval_manad") = manad

'rs("urval_fornamn") = fornamn

'rs("urval_efternamn") = efternamn

'rs("urval_alder") = alder

'rs("urval_kon") = kon

'rs("urval_postnummer") = postnummer

'rs("urval_stad") = stad

'rs("urval_epost") = epost

'rs("meddelande") = meddelande

'rs.Update

'rs.Close

'Set rs = Nothing

'#=======Lägg in i andra tabellen========#

SQL = "Select * From tavling_statistik Where 1=2"

rs.Open SQL, Conn, 1,2

rs.AddNew

rs("manad") = manad

rs("fornamn") = fornamn

rs("efternamn") = efternamn

rs("alder") = alder

rs("kon") = kon

rs("postnummer") = postnummer

rs("stad") = stad

rs("epost") = epost

rs.Update

rs.Close

Set rs = Nothing

 

Conn.Close

Set Conn = Nothing

'Response.Redirect "tavling.asp"

%>

[/log]

 

Sidan om man får värdena ifrån är tavling.asp

 

Det som också är konstigt är att om jag bara kör En INTO-sats så visas inte sidan. Allt fungera då ända tills jag tar bort kommentaren för Execute-strängen så att den ska lägga in värdena.

Kör jag Insert så kommenterar jag bort AddNew, bara så du inte tror jag är Helt Blond :)

Tycker Mina Insert-strängar Är Rätt!

 

Micke

 

Edit:

Samband till: //eforum.idg.se/viewmsg.asp?EntriesId=708231&sida=2#712688

 

[inlägget ändrat 2005-05-19 08:07:54 av Micke_skane]

[inlägget ändrat 2005-05-19 10:54:57 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Hej Micke!

 

Har haft problem med mitt konto, så du har säkert redan löst det här :)

 

Du kan väl höra av dig igen om du inte gjort det så får vi försöka titta på det?

 

Min första spontana tanke är att det är mycket text för så lite kod som du vill göra :)

 

Jag brukar skriva mina update-satser i ren sql precis som jag gör med insert och select o delete...

 

En update för mig ser alltså ut:

sSql = "Update TABELL set KOLUMN1 = VARDE1, KOLUMN2 = VARDE2 where id = ID"

set rs = conn.execute(sSql)

response.redirect "tavling.asp"

 

Fast.. om detta är allt du ska göra så tycker jag du ska göra det på din förra sida... onödigt att hålla på att floppa mellan sidor om du ändå inte ska visa något på dem.

 

/Jenny

 

 

Länk till kommentar
Dela på andra webbplatser

Skåningen

Det underlätar att köra som Jenny säger

 

set rst = con.execute(SQL)

 

då kör du 1 rad istället för flera rader och det underlättar mycket och tiden blir kortare att lägga till data i database.

 

/Du kan alltid nå mig via skolans växel.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...