Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med SQL-sats

Postades av 2004-06-11 15:54:27 - Johan Svensson, i forum asp - allmänt, Tråden har 1 Kommentarer och lästs av 427 personer

Håller på med ett communityprojekt i vilket man skall kunna skaffa olika relationer med medlemmar.
Relationerna är kompis och idiot.

När man sedna skall skicka internmail så skall de man har som kompis listas under kompis och de som man har som idioter listas under idioter. Sedan kan man makera den man vill skicka internmailet till.
För att välja ut de relationer som finns i tabellen relationer i databasen som tillhör den som är inloggad använder jag mig av följande koden nedan. Denna kod fungerar utmärkt.

Nu till problemet:
Det så att jag även vill att medlemmarna skall kunna skicka internmail till medlemmar de inte har någon relation med. Detta hade jag tänkt lösa genom att om "Request.QueryString("id")-värdet" (som jag döpt till "Mail_ToUser") inte finns i relationer.person där relationer.id= "&Session("id")" så skall medlemmar.username som tillhör medlemmar.id som är lika med Mail_ToUser listas under "Inga relationer". Det jag inte vet är hur SQL-en för detta skall se ut.
Hoppas ni förstår vad jag menar.

Här är koden:

' #### BEGIN ## om kompis ####
NameList=NameList & " <OPTION VALUE="""" STYLE=""color: #ffffff; background-color: #333333;"">&nbsp;Kompisar:</OPTION>" & vbCrLf

Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT relationer.id, relationer.typ, relationer.person, medlemmar.id, medlemmar.username, medlemmar.status FROM relationer, medlemmar WHERE medlemmar.id=relationer.person AND relationer.typ=1 AND relationer.id = "&Session("id"), objCon

Do Until objGetData.EOF
NameList=NameList & " <OPTION VALUE=" &objGetData("id")
If Mail_ToUser&""=objGetData("id")&"" Then NameList=NameList & " SELECTED" end if
NameList=NameList & ">&nbsp; &nbsp;" &objGetData("username")& "</OPTION>" & vbCrLf
objGetData.MoveNext
Loop

objGetData.Close
Set objGetData = Nothing
' #### END ## om kompis ####



' #### BEGIN ## om idiot ####
NameList=NameList & " <OPTION VALUE="""" STYLE=""color: #ffffff; background-color: #333333;"">&nbsp;Idioter:</OPTION>" & vbCrLf

Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT relationer.id, relationer.typ, relationer.person, medlemmar.id, medlemmar.username, medlemmar.status FROM relationer, medlemmar WHERE medlemmar.id=relationer.person AND relationer.typ=2 AND relationer.id = "&Session("id"), objCon


Do Until objGetData.EOF
NameList=NameList & " <OPTION VALUE="""&objGetData("id")&""""
If Mail_ToUser&""=objGetData("id")&"" Then NameList=NameList & " SELECTED" end if
NameList=NameList & ">&nbsp; &nbsp;" &objGetData("username")& "</OPTION>" & vbCrLf
objGetData.MoveNext
Loop

objGetData.Close
Set objGetData = Nothing
' #### END ## idiot ####


Svara

Sv: Hjälp med SQL-sats

Postades av 2004-06-11 23:04:19 - Andreas Hillqvist

Detta kanske kan var till hjälp:
<code>
Sub WriteOptions(Stream, Recordset, fldValue, fldText, Value, Header)
If Not rs.EOF Then
Else
Stream.WriteText "<OPTION VALUE="""" STYLE=""color: #ffffff; background-color: #333333;"">&nbsp;" & Server.HTMLEncode(Header) & "</OPTION>", adWriteLine

Do
If rs("id") = Mail_ToUser Then
Stream.WriteText "<OPTION VALUE=" & rs("id") & " SELECTED>&nbsp; &nbsp;" & Server.HTMLEncode(rs("username")) & "</OPTION>", adWriteLine
Else
Stream.WriteText "<OPTION VALUE=" & rs("id") & ">&nbsp; &nbsp;" & Server.HTMLEncode(rs("username")) & "</OPTION>", adWriteLine
End If
rs.MoveNext
Loop Until rs.EOF
End If
End Sub

Dim rs
Dim Stream

Dim strSQL
Dim LastTyp

Const adTypeText = 2
Const adModeReadWrite = 3
Const adWriteLine = 1

Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Type = adTypeText
Stream.Mode = adModeReadWrite
Stream.Open

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

strSQL = "SELECT medlemmar.id, medlemmar.username" & vbCrLf & _
"FROM medlemmar INNER JOIN relationer ON (medlemmar.id=relationer.person)" & vbCrLf & _
"WHERE (relationer.typ=1) AND (relationer.id = "& Session("id") & ")" & vbCrLf & _
"ORDER BY medlemmar.username"

rs.Open strSQL, objCon
WriteOptions Stream, rs, rs("id"), rs("username"), Mail_ToUser, "Kompisar:"
rs.Close

strSQL = "SELECT medlemmar.id, medlemmar.username" & vbCrLf & _
"FROM medlemmar INNER JOIN relationer ON (medlemmar.id=relationer.person)" & vbCrLf & _
"WHERE (relationer.typ=2) AND (relationer.id = "& Session("id") & ")" & vbCrLf & _
"ORDER BY medlemmar.username"

rs.Open strSQL, objCon
WriteOptions Stream, rs, rs("id"), rs("username"), Mail_ToUser, "Idioter:"
rs.Close

strSQL = "SELECT medlemmar.id, medlemmar.username, medlemmar.status, relationer.id, relationer.typ" & vbCrLf & _
"FROM medlemmar LEFT JOIN relationer ON ((medlemmar.id=relationer.person) AND (relationer.id = "& Session("id"))" & vbCrLf & _
"WHERE relationer.Id Is Null" & vbCrLf & _
"ORDER BY medlemmar.username"

rs.Open strSQL, objCon
WriteOptions Stream, rs, rs("id"), rs("username"), Mail_ToUser, "Övriga:"
rs.Close
</code>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 786
27 960
271 761
739
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies