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


Databas fråga..

Postades av 2003-04-29 23:09:28 - Lari Salminen, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 525 personer

Jag har en relationsdb som jag har två tabeller med en 1:M koppling på.

I många sidan har jag två fält, ID och Namn. Detta är olika grupper.

I den andra har jag de saker som tillhör de olika grupperna.

Tanken är att jag ska få fram alla poster under tillhörande grupp på en o samma sida, liknande så här:

GRUPP 1
sak1
sak2
sak3
GRUPP 2
sak4
sak5
GRUPP 3
sak6
sak7
sak8

osv....

Hur gör jag för att lösa detta? Någon som har nåt exempel?

/Lari


Svara

Sv: Databas fråga..

Postades av 2003-04-30 09:18:37 - Ulf Elfving

Borde du kanske inte bygga om tabellerna?

Grupptabell:
GruppID
GruppNamn

Saktabell:
ID
GruppID
SakNamn

Och sedan länka tabellerna mellan de båda GruppID?

Då kan du sedan gruppera ditt resultat som du vill ha det.


Svara

Sv: Databas fråga..

Postades av 2003-04-30 10:43:46 - Lari Salminen

Hej!

Jag har det redan så, det existerar redan en sekundärnyckel i saktabellen.

Så här ser båda tabellerna ut:

tblGroups
fltGID
fltName

tblWine
fltWID
fltName
fltGID
fltYear

Det jag undrar är hur jag kan få fram alla poster på en o samma sida, där varje vin hamnar under rätt grupp. Jag vet inte hur jag ska förklara det hela på ett annat sätt.
Det är en prislista jag ska göra, som ska vara uppdelad i olika grupper, under varje grupp finns det ett antal viner, alla grupperna ska visas på sidan.

Kopplingen mellan tabellerna går via fltGID

/Lari


Svara

Sv: Databas fråga..

Postades av 2003-04-30 12:09:27 - Pontus Wång

Något sånt här kanske?

<code>
dim con
set con = createobject("adodb.connection")
con.connectionstring = ""
con.cursorlocation = 3
con.open
set rsGroups=con.execute("select * from tblGroups")
set rsValues=con.execute("select * from tblWine")
for i = 1 to rsGroups.recordcount
response.write rsGroups("fltName")
rsValues.Filter = "fltGID=" & rsGroups("fltGID")
if rsValues.recordcount > 0 then
rsValues.movefirst
for j = 1 to rsValues.recordcount
response.write rsValues("fltName")
rsValues.Movenext
next 'j
end if
rsValues.movenext
next 'i

</code>



Svara

Sv: Databas fråga..

Postades av 2003-04-30 13:35:06 - Lari Salminen

Ok..har fått en lösning av Trash nu, som jag tror kommer funka bra, om jag bara kan få ordning på for-satsen.

Har provat med den här koden:
<code>
<%
Set connection = Server.CreateObject("ADODB.Connection")
connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/universalwine.mdb")
'connection.connectionstring = ""
connection.cursorlocation = 3
set rsGroups=connection.execute("select * from tblGroups")
set rsValues=connection.execute("select * from tblWine")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body MS_POSITIONING="FlowLayout">
<%for i = 1 to rsGroups.recordcount
response.Write rsGroups("fltName")
rsValues.Filter = "fltGID=" & rsGroups("fltGID")
rsValues.movefirst
for j = 1 to rsValues.recordcount
response.write rsValues("fltName")
rsValues.Movenext
next j
rsValues.movenext
next i
%>
</body>
</html>
</code>

Och får felmeddelandet:
Kompileringsfel i Microsoft VBScript error '800a0401'

Slut på programsats förväntas.

/mep02/lari/universalwine/wineprint.asp, line 23

next j
-----^

Om jag ändrar koden till detta (plockat bort j och i):
<code>
<%for i = 1 to rsGroups.recordcount
response.Write rsGroups("fltName")
rsValues.Filter = "fltGID=" & rsGroups("fltGID")
rsValues.movefirst
for j = 1 to rsValues.recordcount
response.write rsValues("fltName")
rsValues.Movenext
next
rsValues.movenext
next
%>
</code>
Då får jag felmeddelandet:

Corbett Canyon - USACorbett Canyon <----detta är första gruppen och första posten!
ADODB.Recordset error '800a0bcd'

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats; åtgärden som programmet begärt kräver en aktuell post.

/mep02/lari/universalwine/wineprint.asp, line 23

Här lyckas den iaf plocka första gruppen och första posten.


Svara

Sv: Databas fråga..

Postades av 2003-04-30 14:03:04 - Lari Salminen

Rätt lösning ser ut så här:
<code>
<%
Set connection = Server.CreateObject("ADODB.Connection")
connection.connectionstring = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/universalwine.mdb")
connection.cursorlocation = 3
connection.Open

set rsGroups=connection.execute("select * from tblGroups")
set rsValues=connection.execute("select * from tblWine")
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body MS_POSITIONING="FlowLayout">
<%
for i = 1 to rsGroups.recordcount
response.Write rsGroups("fltName")
rsValues.Filter = "fltGID=" & rsGroups("fltGID")
If rsValues.Recordcount > 0 Then
rsValues.movefirst
for j = 1 to rsValues.recordcount
response.write rsValues("fltName")
rsValues.Movenext
next
End If
rsGroups.movenext
next
%>
</body>
</html>
</code>

Tack för hjälpen Trash!!


Svara

Sv: Databas fråga..

Postades av 2003-04-30 21:42:07 - Andreas Hillqvist

Om du vill ha snygg och effektiv kod kan du använda MSDataShape:
<code>
<%
Dim rsSub
Dim rsMain
Dim Connection
Dim StartTime

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=MSDataShape.1;" & _
"Data Provider=MICROSOFT.JET.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("DinDatabas.mdb")

Set rsMain = Server.CreateObject("ADODB.Recordset")
rsMain.Open "SHAPE {SELECT * FROM tblGroups} AS Main" & vbCrLf & _
"APPEND ({SELECT * FROM tblWine} AS Sub RELATE fltGID TO fltGID) AS Sub", Connection
Do Until rsMain.EOF
Response.Write "<h3>" rsMain("fltName") & "</h3>"
Set rsSub = rsMain("Sub").Value
Do Until rsSub.EOF
Response.Write rsSub("fltName") & "<br>" & vbCrLf
rsSub.MoveNext
Loop
rsSub.Close
rsMain.MoveNext
Loop
rsMain.Close
Set rsMain = Nothing

Connection.Close
Set Connection = Nothing
%>
</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 801
27 960
271 761
456
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