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 :
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 <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>
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
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
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
Partager