Ett värde (idnr) som jag skickar via en formtag med hidden skall hämtas upp på nästa sida med kommandot Request.Form("idnrvarde"). Detta värde skall i sin tur skickas vidare till en ny sida via en formtag med hidden. På slutdestinationssidan skall värdet åter hämtas upp med Request.Form("idnrvarde"). Det misslyckas.... Nedan bifogas relevant kod för de olika sidorna.
Jag har POST som metod, det fungerar tyvärr inte ändå. (Jag testade bara med GET och glömde ändra detta innan jag klistarade in koden i mitt meddelande....sorry...)
Kontrollera var värdet försvinner. På "mellansidan" eller på "registreringssidan"?
Ett tips är att skriva ut sql-satsen INNAN du exekverar den. Det brukar underlätta när man buggtestar.
Ett annat tips är att inte använda sig av Recordset i onödan. De är långsammare än Connection-objektet. Connection.Execute returnerar, om man så vill, ett statiskt Recordset. Din tredje sida skulle kunna lika gärna se ut så här:
idnr = Request.Form("idnrvarde")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("DBklient")
SQL = "SELECT FIRSTNAME, LASTNAME, JOBTITLE1 FROM ucoKlientKontakt WHERE Klientnr = " & idnr
Set objRec = Conn.Execute SQL
Där objRec blir ditt skapade recordset.
------------------
/ Torbjörn Hansson, webbutvecklare/gränssnittsprogrammerare Spetsdata AB
Tack för tipsen!(du menar att man kan använda ObjRec när man enbart skall läsa från databasen? Ska man skriva, lägga till eller modifiera så måste man sätta upp ett riktigt recordset? Har jag uppfattat saken korrekt?)
Till saken;
Jag provar med att sätta fasta, dvs befintliga idnr från databasen, värden som idnr på de två första sidorna, det fungerar inte heller..... men om jag sätter ett fast värde på tredje sidan så fungerar det. Kan man kanske kalla spooky? Har du några fler förslag?
Du behöver inte skapa recordset för att lägga in något i databasen heller (jag har ALDRIG använt mig av det). Du gör på samma sätt när du lägger in data, fast du använder dig av INSERT INTO-satsen istället:
namn = Request.Form("namn")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ("DBklient")
SQL = "INSERT INTO ucoKlientKontakt(FIRSTNAME) VALUES(" & namn & ");"
Set objRec = Conn.Execute SQL
Till ditt problem:
Testa att skriva Response.Write SQL innan "execute"-raden så kan du läsa vad det är för sql-uttryck som skickas till databasen.
------------------
/ Torbjörn Hansson, webbutvecklare/gränssnittsprogrammerare Spetsdata AB
Efter mkt om och men så beslöt jag mig för att använda sessions istället för hidden för att få fram idnr på tredje sidan. Detta fungerar utmärkt. Frågan är; hur prestandaförödande är det att använda sessions,kommer det att sega ner systemet? (ca 5 användare)
Med 5 användare är det verkligen inget problem att använda Session. Problemen uppstår när man lägger för stora variabler, eller fel typ av variabler i Session och har tiotusentals användare.
134 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5