steen_hansen Seniormester
12. januar 2018 - 20:09 Der er 2 kommentarer

INSERT data, tag deneste ID fra det netop indsatte RS og overfør det ID til ny tabel

Jeg har en form, som poster data i tabellen "messages". Det virker fint nok:

        Conn.Execute("INSERT INTO messages (author, vTitle, message, duration, dato) VALUES (" & _
            "'" & SQLEncode(author) & "', " & _
            "'" & Trim(SQLEncode(Request.Form("title"))) & "', " & _
            "'" & SQLEncode(Request.Form("message")) & "', " & _
            "" & Request.Form("duration") & ", " & _
            "'" & Dato & "')")

Jeg vil gerne lave, så hver enkelt kan se, om der er ulæste beskeder. Er de ulæste, skal RS("read") være 0 (nul)

Går man ind på siden, skal der øverst på siden postes 1 RS("read"). Den bliver ikke svær.

Så jeg hiver seneste messageID fra tabellen "messages"

        Set RSmessageID = Conn.Execute("SELECT messageID FROM messages ORDER BY messageID DESC LIMIT 1;")

Det virker helt fint.

Jeg hiver samtlige brugernavne tabellen "users"

        Set RSMessageUserName = Conn.Execute("SELECT username FROM users")

Jeg har ikke lige testet den endnu, men den burde hive samtlige usernames

Dem vil jeg så smide ind i tabellen "messages_read"

        Conn.Execute("INSERT INTO messages_read (messID, username_read) VALUES (" & _
            "" & xID & ", " & _
            "'" & xUser & "')")

Men der sker intet. Der kommer ikke noget med over. Hvad laver jeg galt? Det burde være så simpelt.

Hele scriptet:

        Conn.Execute("INSERT INTO messages (author, vTitle, message, duration, dato) VALUES (" & _
            "'" & SQLEncode(author) & "', " & _
            "'" & Trim(SQLEncode(Request.Form("title"))) & "', " & _
            "'" & SQLEncode(Request.Form("message")) & "', " & _
            "" & Request.Form("duration") & ", " & _
            "'" & Dato & "')")

        Dim RSmessageID, RSMessageUserName, xID, xUser
        Set RSmessageID = Conn.Execute("SELECT messageID FROM messages ORDER BY messageID DESC LIMIT 1;")
        Set RSMessageUserName = Conn.Execute("SELECT username FROM users")

        xID = RSmessageID("messageID")
        xUser = RSMessageUserName("username")

        Conn.Execute("INSERT INTO messages_read (messID, username_read) VALUES (" & _
            "" & xID & ", " & _
            "'" & xUser & "')")
steen_hansen Seniormester
12. januar 2018 - 20:15 #1
Jeg skal bare have de to værdier med over på samtlige brugere.

Her er standardværdien 0 (nul) i record settet "read"

Når den enkelte bruger går ind på siden, skal den værdi ændres til 1, hvilket indikerer, at brugeren og har 0 ulæste beskeder

Næste gang en bruger skriver en besked, kommer der et ID, hvor der som standard bliver angivet 0.

SQL tæller antallet af record sets med værdien 0, og så kan hver enkelt bruger se hvor mange ulæste beskeder der er. Det er hele idéen.
steen_hansen Seniormester
12. januar 2018 - 21:50 #2
Set RSMessageUserName = Conn.Execute("SELECT username FROM users")

- virker alligevel ikke. Der skal vel køres en loop med det specifikke ID på hvert username ..............?
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

Opret Preview

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





Premium
Dansk it-firma har kæmpe udfordring - skal ansætte 80 medarbejdere på et år: "Det er en kæmpe udfordring - vi leder specifikt efter de bedste folk"
Interview: Peakon skal i løbet af et år gå fra at være i underkanten af 100 medarbejdere til op imod 180 ansatte fordelt på tre forskellige kontinenter. Selskabet vil hyre "fra den øverste hylde" men er ikke lønførende og skal primært rekruttere fra en branche, der mangler arbejdskraft: "Der er ingen tvivl om, at det er en kæmpe udfordring, at skulle hyre så mange folk," siger direktør Kasper Hulthin.
Computerworld
Få mere fra hånden med det nye Gmail: Her er de første billeder af Googles nye mail-satsning
Google vil gøre Gmail enklere og mere produktiv i de kommende uger. Se hvordan det nye Gmail tager sig ud her.
CIO
Allersidste opdatering på vej: Om en uge er det slut med stor-version af Windows 10 - skynd dig at opdatere
Om en uge er det slut for altid med den første store udgave af Windows 10, som Microsoft efter 29 måneder ikke længere vil supportere.
Job & Karriere
Klassiske brokere af it-konsulenter står over for kæmpe udfordring - forretningsmodellen er under pres
Klumme: Eksterne konsulenter er populære og en god løsning i en branche i vækst. Men selve forretningsmodellen bag it-konsulenterne er under alvorligt pres.
White paper
På jagt efter nyt BI-system? … Her er analysen og de 25 vigtigste KPI’er
Et godt BI-system er en central del af en digitaliseret virksomhed. Dette whitepaper fra EG dykker ned i en analyse af de nødvendige overvejelser på det organisatoriske, teknologiske og brugerorienterede niveau. Samtidig får du en liste med 25 vigtige KPI’er inden for ni funktionsområder, så du kan se, hvad andre virksomheder holder øje med.