Jag har en SQL databas med datum och artiklar. Jag skulle vilja att det syns ett ”A” i min calendar vid det aktuella datumet (i kalendern) om det finns en eller flera artiklar i databasen. Kalender kontrollen har ett event som heter OnDayRender som du kan använda dig av. Hmmm, får inte till det. Erkänner ivrigt att jag är nybörjare på detta. Hej.. Hej igen och tack för hjälpen. Hej. Notis från en SQL databas i en asp:Calendar
Jag vill bara få en notis i kalendern att det finns något inlagt i det datumet som visas när jag bläddrar i kalendern.
Finns det någon expert som kan hjälpa mig med detta (i VB)?Sv: Notis från en SQL databas i en asp:Calendar
ett exempel där myDay och myMonth och myYear kommer från din databas:
<code>
sub DayRender( s as object, e as DayRenderEventArgs)
'Här kan du tex hämta data från ditt DataSet.
if e.Day.Date.Day = myDay and _
e.Day.Date.Month = myMonth and _
e.Day.Year = myYear then
e.Cell.Control.Add(New LiteralControl("A"));
end if
end sub
</code>
<code>
<asp:Calendar OnDayRender="DayRender" .... >
</code>
/Fredrik NSv: Notis från en SQL databas i en asp:Calendar
Hur gör jag för att få ut dom rätta värderna myDay och myMonth och myYear från min sql server/databas???Sv: Notis från en SQL databas i en asp:Calendar
Troligen har du ju sparat ner dina datum som datum i databasen?
Dessa kan du lägga i en DateTime variabel och sedan med DateTime
plocka ut dag, månad etc...
Exempelvis:
<code>
Dim datum As DateTime
datum = "2003-08-29" <--- Här är ditt värde från databasen. (dataReader["Datum"] )
Dim dag As Integer = datum.Day
</code>
Jag antar att du vet hur du hämtar data ur din databas? Om inte så är quickstarten som följer med .Net framework en bra källa, Annars kan du kolla på andra inlägg i detta forum där det frågats om det flera ggr.
//Johan NSv: Notis från en SQL databas i en asp:Calendar
Jag har delvis löst det, mitt problem är att endast ett datum visas i min kalender. Jag har 9 datum i min databs som ligger i juli men endast det senaste datumet/id visas.
Tydligen så lyckas jag bara hämta ett datum ur min databas.
Törs man be om ett tips om felet;-)
Jag lägger in min kod:
<code>
<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
Dim MyConnection As SqlConnection
Dim MyCommand As SqlCommand
Dim datum As DateTime
Sub Page_Load(sender As Object, e As EventArgs)
MyConnection = New SqlConnection("Data Source=(local);" & "Initial Catalog=!!!!!!!!!!;" & "User ID=!!!!!!!!!!;" & "Password=!!!!!!!!!!")
MyConnection.Open()
MyCommand = New SqlCommand("select aktivdatum from aktivitet", MyConnection)
Dim dr = MyCommand.ExecuteReader()
While dr.Read()
datum = dr("aktivdatum")
End While
dr.Close()
end sub
Sub DayRender(sender As Object, e As DayRenderEventArgs)
Dim myDay As Integer = datum.Day
Dim myMonth As Integer = datum.Month
Dim myYear As Integer = datum.Year
if e.Day.Date.Day = myDay and e.Day.Date.Month = myMonth and e.Day.Date.Year = myYear then
e.Cell.Controls.Add(New LiteralControl("<br>" + "<b><font color='#0000FF'>A</font></b>"))
end if
MyConnection.Close()
End Sub
</script>
</code>Sv: Notis från en SQL databas i en asp:Calendar
Om du tittar här:
<code>
While dr.Read()
datum = dr("aktivdatum")
End While
</code>
Så kommer du alltid skriva över ditt datum. Det betyder att det sista datumetdu får tag i är det enda datum du har i variablen datum.
//Johan N