Bonjour,
je travaille sur une application de gestion de congé. Evidemment j'ai besoin d'un formulaire pour que l'agent puisse déposer sa demande. Ce formulaire contient plusieurs champs notamment le motif du congé, la date de sortie et la date de retour. pour ces deux derniers champs, j'ai choisi de mettre le contrôle calendar.
le code de la page saisie.aspx et comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
<body>
    <form id="form1" runat="server">
    <div>
 
        <asp:Label ID="Label1" runat="server" Text="Motif"></asp:Label>
        <br />
        <asp:DropDownList ID="CB_Conge" runat="server">
        </asp:DropDownList>
        <br />
        <asp:Label ID="Label2" runat="server" Text="Date de sortie"></asp:Label>
        <br />
        <asp:Calendar ID="DateDep" runat="server"></asp:Calendar>        
        <br />
        <asp:Label ID="Label3" runat="server" Text="Date de retour"></asp:Label>
        <br />
        <asp:Calendar ID="DateRet" runat="server"></asp:Calendar>  
    </div>
    <asp:Button ID="Button1" runat="server" Text="Button" />
    </form>
</body>
le code de la page saisie.aspx.vb et comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
Imports System.Data.SqlClient
Imports System.Data
 
Partial Class saisie
    Inherits System.Web.UI.Page
    Dim depart As Date
    Dim retour As Date
    Dim TypeConge As Char
    Dim connexion As New SqlConnection("Persist Security Info=False;User ID=sa;Password=afaf001;Initial Catalog=projet;Data Source=(local);")
 
 
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            DateDep.SelectedDate = Now()
            depart = DateDep.SelectedDate
            DateDep.TodaysDate = DateDep.SelectedDate
            DateRet.SelectedDate = Now()
            retour = DateRet.SelectedDate
            DateRet.TodaysDate = DateRet.SelectedDate
        End If
        connexion.Open()
        Dim macommande As SqlCommand
        macommande = connexion.CreateCommand
        macommande.CommandType = CommandType.Text
        macommande.CommandText = "SELECT conge FROM regles"
 
        Dim mondatareader As SqlDataReader
        mondatareader = macommande.ExecuteReader
 
 
        Do While mondatareader.Read()
            CB_Conge.Items.Add(mondatareader(0))
        Loop
 
 
 
        mondatareader.Close()
 
 
 
 
    End Sub
 
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim macommandeInsert As SqlCommand
        macommandeInsert = connexion.CreateCommand
        macommandeInsert.CommandType = CommandType.Text
        macommandeInsert.CommandText = "INSERT INTO demandes (TypeConge,DateDepart,DateRetour) values('" & TypeConge & "','" & depart & "','" & retour & "')"
 
        macommandeInsert.ExecuteNonQuery()
 
 
 
 
 
 
    End Sub
 
    Protected Sub DateDep_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateDep.SelectionChanged
        depart = DateDep.SelectedDate
    End Sub
 
    Protected Sub DateRet_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateRet.SelectionChanged
        retour = DateRet.SelectedDate
    End Sub
 
    Protected Sub CB_Conge_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CB_Conge.SelectedIndexChanged
        TypeConge = CB_Conge.Text
    End Sub
End Class
la page web ce génère sans aucun problème. Les problèmes apparaissent lorsque je clique sur le bouton pour insérer la demande dans la table 'demandes' de ma base de données

1er problème :
toutes les lignes insérées dans la table 'demandes' contiennent comme date de sortie et de retour : 1990-01-01

2eme probleme :
les motifs des congés sont affichés dans une DropDownList, à partir d'une table 'regles' de ma base de données. Lorsque je génère la page pour la première fois, le controle DropDownList est rempli avec tous les motifs et c'est le résultat voulu. mais après le click sur le bouton d'insertion, la liste des motifs est remplie une seconde fois, et je me retrouve avec la liste contenant les motifs duppliqués

3eme probleme :

après le click sur le bouton d'insertion. je cheeche s'il y'a une ligne insérée dans la table 'demandes'. je trouve une ligne (avec ces 1990-01-01). et dans le champs du motif, soit je ne trouve rien, soit je trouve la première lettre du motif que j'ai sélectionné dans la liste des motifs


quelqu'un pourrait il m'aider svp ? merci