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


Datum

Postades av 2004-06-16 16:05:34 - Mikael Johansson, i forum asp.net generellt, Tråden har 7 Kommentarer och lästs av 435 personer

Har ett formulär där man kan välja ett startdatum och ett slutdatum. Nu vill jag att det skrivs ut i en datalist alla datum från start till slut. Den ska nämligen innehålla en beräkning med för varje datum, t.ex.:

Välj Datum:
Start 2004-04-01 Slut 2004-04-03

Resultat:
2004-04-01 9
2004-04-02 3
2004-04-03 7

Någon som har en bra idé hur man kan göra?


Svara

Sv: Datum

Postades av 2004-06-16 16:12:19 - Thomas Vanhaniemi

Du kan väl göra en loop från startdatum till stopdatum och i loopen sätta in datumen i ett dataset du skapat.
Därefter binder du datasetet till datalisten.

Är jag på rätt spår med vad du vill göra?
Vad är det för uträkningar som ska finnas med?

Mvh,
Thomas


Svara

Sv: Datum

Postades av 2004-06-16 16:14:56 - Mikael Johansson

Det är COUNT jag får göra från databasen, det klurar till det en del (tycker jag).


Svara

Sv: Datum

Postades av 2004-06-16 16:20:09 - Mikael Wedham

Vad är det för databas?
Får du skriva procedurer?
Vad är det för beräkning?

/micke


Svara

Sv: Datum

Postades av 2004-06-16 16:20:48 - Thomas Vanhaniemi

Vad är det du har i databasen för något som du räknar?
Räknar du antalet poster i tabellen som har ett visst datum?

Man kan skriva en fråga som retunerar Datum i ett fält och Antalet poster i ett annat fält...
Sen är det bara att läsa av databasen...

Är det en Access databas?

Mvh,
Thomas


Svara

Sv: Datum

Postades av 2004-06-16 16:25:33 - Mikael Johansson

Det är msde, procedurer tror jag att jag får skriva

Varje beräkning kommer väl se ut ungefär:

<code>
Function raknaStat1(Byval dat As DateTime)
Dim connectionString As String = "server='(local)'; trusted_connection=true; Database='test'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)

Dim queryString As String = "SELECT COUNT([Agent]) FROM [Arende] WHERE ([Oppet].[dat] = @Dat)
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)


sqlCommand.Parameters.Add("@Dat", System.Data.SqlDbType.VarChar).Value = dat

sqlConnection.Open
Dim antal As Object = sqlCommand.ExecuteScalar()

sqlConnection.Close

Return antal
End Function
</code>

Sen i body vore idealet:
datum <% =raknaStat1() %>

Jag vet att det är felaktigt ovan, men ungefär det tänket.


Svara

Sv: Datum

Postades av 2004-06-17 08:30:51 - Mikael Wedham

Hej!

Här är först en enkel funktion. Den returnerar antalet [Agent]
i intervallet @DateFrom - @DateTo.
Nackdelen är att den får inte med dagar där du inte har någon agent alls.
2003-09-10 4
2003-09-11 0
2003-09-12 7
2003-09-13 5

Kommer alltså inte upp! 2003-09-11 kommer att saknas.
<code>
CREATE PROCEDURE RaknaStat
(@DateFrom datetime, @DateTo datetime)
AS
SELECT [Oppet].[dat], COUNT([Agent]) FROM [Arende]
WHERE [Oppet].[dat] BETWEEN @DateFrom AND @DateTo
GROUP BY [Oppet].[dat]
</code>

Då har du en procedur som är lite mer komplicerad, med den kommer att
returnera allt, även tomma dagar.

<code>
CREATE PROCEDURE RaknaStat
(@DateFrom datetime, @DateTo datetime)
AS

DECLARE @Current datetime
SET @Current = @DateFrom

CREATE TABLE #Results (Datum datetime NOT NULL, Resultat int NOT NULL)

WHILE @Current >= @DateTo
BEGIN
INSERT INTO #Results
SELECT @Current, COUNT([Agent]) FROM [Arende]
WHERE [Oppet].[dat] = @Current
SELECT @Current = @Current + 1
END

SELECT * FROM #Results
DROP TABLE #Results
GO
</code>


Båda två kan du anropa som följer:

<code>
Function raknaStat1(Byval d1 As DateTime, Byval d2 As DateTime) AS SqlDataReader
Dim connectionString As String = "server='(local)'; trusted_connection=true; Database='test'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)

Dim queryString As String = "RaknaStat"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)

sqlCommand.Parameters.Add("@DateFrom", System.Data.SqlDbType.VarChar).Value = d1
sqlCommand.Parameters.Add("@DateTo", System.Data.SqlDbType.VarChar).Value = d2

sqlConnection.Open

Return sqlCommand.ExecuteReader(CommandBehaviour.CloseConnection)

End Function
</code>

(Har inte kollat syntaxen, men principen stämmer för min VB-kod)

/micke


Svara

Sv: Datum

Postades av 2004-06-17 08:37:43 - Mikael Johansson

Guld, jag tackar allra ödmjukast :D


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 166
27 952
271 704
611
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