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


Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 10:05:39 - Nicklas Öquist, i forum asp - allmänt, Tråden har 10 Kommentarer och lästs av 492 personer

Har gjort en nyhetsbrevsapplikation som idag använder sig av en tabell - tblmembers.

Nu är det så att jag kommer att behöva använda flera olika tabeller (dock identiska) såsom tblmembers2, tblmembers3 o.s.v.

På startsidan vill jag kunna välja vilken tabell jag vill använda, via exempelvis en drop-downmeny. När valet är gjort vill jag att alla SELECT-satser i applikationen ändras till vald tabell.

Ett exempel på en SELECT-sats:

Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT EmailAddress " & _
"FROM tblmembers " & _
"WHERE EmailAddress = '" & strEmailAddress & "'"
objRS.Open strSQL, objConn

Jag vill alltså kunna ändra tabellnamnet beroende på valet i min drop-down. Går detta att göra med en variabel???


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 10:14:21 - Patrik Andersson

selTbl= Request.Form("selTbl") (Kanske = tabell2)

"SELECT email FROM " & selTbl & " WHERE...."


//Putte



Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 10:21:21 - Andreas Hillqvist

Varför? Låter som dålig databas design. Inte använda identiska tabeller.


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 13:50:47 - Nicklas Öquist

Får ett felmeddelande:

Microsoft JET Database Engine error '80040e14'

Syntax error in query. Incomplete query clause.

/news/MemberList.asp, line 26


Set objRS = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * " & _
"FROM '" & strTable & "'" & _
"ORDER BY LastName"
Line 26: objRS.Open strSQL, objConn, adOpenStatic, adLockPessimistic


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 13:56:37 - Patrik Andersson

Du skall inte ha några enkelfnuttar runt tabellnamnet.

Testa detta:

strSQL = "SELECT * FROM " & strTable & " ORDER BY LastName"

Fast jag håller med Andreas angående databasdesingen. Du kanske skulle kolla över den innan du målar in dig i ett hörn.
//Putte



Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 14:34:25 - Nicklas Öquist

Vet att designen inte är den ultimata, men så har jag inte programmerat mer än några månader heller...

Funderade först på att slänga in allt i samma tabell och skapa grupper, men eftersom den skulle bli rätt tung, så valde jag istället att dela upp tabellerna. Hur skulle ni designa? Kom gärna med tips!


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 15:45:50 - Patrik Andersson

<code>
Så här kanske kan vara en början.
Nu ser jag ju inte hela bilden och jag är långt ifrån någon databasdesign-expert.

Sedan väljer du i din dropdown meny namnet på den grupp som du vill använda i din select sats.

intGroup = Request.Form("selGroup")
"SELECT * FROM tbl_member WHERE groupID = " & intGroup & " ORDER BY LName"

Ex:

tbl_group
groupID
groupName

tbl_member
userID
groupID
userName
userPwd
userEmail
fName
LName
osv.
</code>
//Putte





Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 16:54:59 - Nicklas Öquist

Ok, du menar alltså att jag skall ha alla medlemmar i tbl_member, som i sin tur ligger i relation med tbl_group via "groupID"?


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 17:06:58 - Patrik Andersson

japp...


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 18:33:21 - Andreas Hillqvist

Hej igen putte. tycker din group tabell är mycket vacker. Men member tabellen är lite småt förskräckligt. Om du ger tabellen namnet memer. borde det då inte vara MemberId, MemberName, MemberPwd. Kanske lämpligare att kalla tabellen User iså fall. Desutom är jag emot att man använder sig av identiska fältnamn när man gör relationer. Jag föreslår istället fältnamnet MemberGroup eller UserGroup.

Gillar inte förkortningar som FName eller LName. Är ju inte mycket mer tecken att skriva fullständigt namn.


Mitt ex:

tbl_Users
UserID
UserGroup
UserName
UserPwd
UserEmail
UserFirstName
UserLastName
osv.

Eller om member är mer lämpligt:

tbl_Member
MemberID
MemberGroup
MemberName
MemberPwd
MemberEmail
MemberFirstName
MemberLastName


Om det sedan är så att en medlem/användare skall kunna tillhöra en till flera grupper. Är ju en många till många relation mer lämplig:

Då gör man så att man skapar en mellan tabell. Inte hittat nån bra namngivning för den. men jag får väl vara konsekvent:

tbl_GroupMembers
(GroupMembersId)
GroupMembersGroup
GroupMembersMember

Man kan ju ha en räknare men det är egentligen onödigt eftersom GroupMembersGroup och GroupMembersMember är den naturliga nyckeln.


/Mvh, Andreas Hillqvist


Svara

Sv: Använda en variabel för tabellnamnet i SELECT-satsen...

Postades av 2002-04-10 20:34:03 - Patrik Andersson

Som sagt...jag är ingen klippa. Håller helt med dig i dina synpunkter..och jag tackar för berömmet :-).


//Putte


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 838
27 960
271 761
5 597
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