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


Lite Dataview problem

Postades av 2007-06-07 17:59:51 - Tyronne Engström, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 650 personer

Hej!

I mitt admin gränssnitt så kollar jag vilken status man har. Beroende på status så skall man se olika mycket av en viss data som visas i gridview. Tanken är att om man har status <3 så ser man bara sina inlägg men har man status > 3 så skall man se alla.

så här hade jag tänkt lösa det, men det fungerar så klart inte.

<code>
<td colspan="2" rowspan="3" style="width: 1102px; height: 300px" valign="top">
<%
int sStatus = int.Parse(Session["anvandarid"].ToString());
string DS = "";
if (sStatus < 3)
{
DS = "ds1";
%>
<asp:AccessDataSource ID="ds1" runat="server"
DataFile = "~/Gripenbat.mdb"
SelectCommand = "SELECT a.ID, a.regtime,a.atid, a.stoptime, a.rubrik, a.antalsvar, b.Avdelning, (c.fnamn + ' ' + c.enamn) as Name, d.plats from ovningar a, avdelningar b, anvandare c, plats d Where b.ID = a.avdelning AND c.ID= a.ovnled AND d.ID = a.plats AND a.ovnled = @anvandarid Order by Regtime"
DeleteCommand = "DELETE FROM ovningar WHERE ID=@ID;">
<SelectParameters>
<asp:SessionParameter Name="anvandarid" SessionField="anvandarid" Type="int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="ID" Type=int32 />
</DeleteParameters>

</asp:AccessDataSource>
<% }
else
{
DS = "ds2";
%>
<asp:AccessDataSource ID="ds2" runat="server"
DataFile = "~/Gripenbat.mdb"
SelectCommand = "SELECT a.ID, a.regtime,a.atid, a.stoptime, a.rubrik, a.antalsvar, b.Avdelning, (c.fnamn + ' ' + c.enamn) as Name, d.plats from ovningar a, avdelningar b, anvandare c, plats d Where b.ID = a.avdelning AND d.ID = a.plats AND c.ID= a.ovnled Order by Regtime"
DeleteCommand = "DELETE FROM ovningar WHERE ID=@ID;">
<SelectParameters>
<asp:SessionParameter Name="anvandarid" SessionField="anvandarid" Type="int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="ID" Type=int32 />
</DeleteParameters>
</asp:AccessDataSource>
<%
}
%>

<asp:GridView ID="grdOvningar" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" DataSourceID="<&= DS %>"
</code>
hur skall jag lösa detta. Jag vill inte använda codebehind av vissa anledningar, men går detta att lösa

/Tyronne


Svara

Sv: Lite Dataview problem

Postades av 2007-06-07 21:10:51 - Fredrik Malmström

Lös det via codebehind istället..

så att beroende på användarens status så fyller du datagriden osv med dess rätta data, alltså olika SelectCommands i detta fall... antar jag!


Svara

Sv:Lite Dataview problem

Postades av 2007-06-07 23:17:31 - Tyronne Engström

jag vill unvika codebehind i detta läget beronde på en del annat på sidan.

Kan man inte lösa det på sidan som jag önskar?

/tyronne


Svara

Sv: Lite Dataview problem

Postades av 2007-06-08 09:19:05 - Ted Nyberg

Varför vill du inte skriva logiken i din codebehind-fil? Att inte vilja följa best practise är antagligen ett tecken på att något annat är "felaktigt" implementerat...?

Jag tror att den bästa lösningen för dig är att ta reda på användarens status och därefter hämta poster med olika SELECT-satser från databasen beroende på vilka poster som ska visas för den aktuella användaren. Bind därefter denna datakälla till din presentationskontroll (i codebehind-filen).


Svara

Sv: Lite Dataview problem

Postades av 2007-06-08 10:40:05 - Andreas Hillqvist

Jag antar att användar id skall vara lägre än tre?
Du skulle likväl kunna göra det med bara en SQL fråga genom:

WHERE (@anvandarid < 3) AND (a.ovnled = @anvandarid)

Så då kan du förenkla det till:
<td colspan="2" rowspan="3" style="width: 1102px; height: 300px" valign="top">
<asp:AccessDataSource ID="ds1" runat="server" 
    DataFile = "~/Gripenbat.mdb"
    SelectCommand = "SELECT a.ID, a.regtime,a.atid, a.stoptime, a.rubrik, a.antalsvar, b.Avdelning, (c.fnamn + ' ' +  c.enamn) as Name, d.plats FROM ((ovningar a INNER JOIN avdelningar b ON a.avdelning = b.ID) INNER JOIN  anvandare c ON a.ovnled = c.ID) INNER JOIN plats d ON a.plats = d.ID WHERE (@anvandarid < 3) AND (a.ovnled = @anvandarid) ORDER BY Regtime"
    DeleteCommand = "DELETE FROM ovningar WHERE ID=@ID;">
    <SelectParameters>
    <asp:SessionParameter Name="anvandarid" SessionField="anvandarid" type="int32" />  
    </SelectParameters>  
    <DeleteParameters>
    <asp:Parameter Name="ID" Type=int32 /> 
    </DeleteParameters>
    </asp:AccessDataSource>
    <asp:GridView ID="grdOvningar" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"  DataSourceID="ds1"  


Det ser ut som du skapar en anslutning i varje sida. Vad händer då om du skall ändra anslutningen? Måste du då inte gå in p alla sidor?

JAg tror det finns en möjlighet att kunna misbruka DeleteCommand från griden. Bör kanske ha med en validering för detta med. Komtroller att det är den som är inloggad eller administratör.
Kan duoxå göra i SQL satsen.

P.S.
Vad gäller för användar med id 3?
Antar att den inte existerar.
D.S.


Svara

Sv:Lite Dataview problem

Postades av 2007-06-08 12:56:38 - Tyronne Engström

Tack Andreas!

Jag brukar använda en klass som hanterar databas anslutning.

/Tyronne


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 169
27 953
271 705
1 145
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