Bonjour,
Je rencontre actuellement quelques difficultés sur une page aspx et une base SQL server.
Je m'explique :
Quand ma page s'affiche, j'ai un dropdownlist qui contient les mois de l'année "en dur" et un gridview pour recevoir mes données.
Le dropdownlist (drMois) affiche automatiquement à l'ouverture le mois en cours.Ce que je souhaite faire, c'est qu'en fonction de ce mois, la base de données n'affiche les evennements concernant que le mois en cours.
Dans ma colonne objet, je découpe la chaine de caractères, afin de ne garder que le mois en toute lettres et le comparer avec le mois se trouvant dans le dropdownlist, jusque là ça va à peu près.J'obtient une erreur lors de ma requête avec LIKE
Voici mon code:Syntaxe incorrecte vers le mois en cours
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117 DataSet ds = new DataSet(); DataSet ds2 = new DataSet(); SqlConnection conn; private int Counter { get { return this.ViewState["counter"] == null ? 0 : (int)this.ViewState["counter"]; } set { this.ViewState.Add("counter", value); } } protected void connect() { string SQL = "SELECT [theme],[objet] FROM Evennements ORDER BY date" ; conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|" + "DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True"); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand(SQL, conn); adapter.Fill(ds); } protected void Page_Load(object sender, EventArgs e) { connect(); // detection du mois actuel puis selection dans la dropdownlist du mois en toute lettre string dateComp = Convert.ToString(DateTime.Now); string dateRac = dateComp.Remove(10); char[] charSeparators = new char[] { '/' }; string[] result; result = dateRac.Split(charSeparators, StringSplitOptions.None); string mois = result[1]; switch (mois) { case "01": drMois.SelectedValue = "Janvier"; break; case "02": drMois.SelectedValue = "Fevrier"; break; case "03": drMois.SelectedValue = "Mars"; break; case "04": drMois.SelectedValue = "Avril"; break; case "05": drMois.SelectedValue = "Mai"; break; case "06": drMois.SelectedValue = "Juin"; break; case "07": drMois.SelectedValue = "Juillet"; break; case "08": drMois.SelectedValue = "Août"; break; case "09": drMois.SelectedValue = "Septembre"; break; case "10": drMois.SelectedValue = "Octobre"; break; case "11": drMois.SelectedValue = "Novembre"; break; case "12": drMois.SelectedValue = "Décembre"; break; default: Response.Write(("<script>alert('Erreur !')</script>")); break; } DataRow dr = ds.Tables[0].Rows[Counter]; string dateActu = Convert.ToString(dr[1]); string[] resultsep; char[] Separators = new char[] { ' ' }; resultsep = dateActu.Split(Separators, StringSplitOptions.None); string moisrecup = resultsep[3]; if (moisrecup != drMois.SelectedValue) { lbMC.Text = moisrecup; lbDR.Text = drMois.SelectedValue; } string SQL = "SELECT [theme],[objet] FROM Evennements WHERE objet LIKE % " + drMois.SelectedValue +'%'; conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|" + "DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True"); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand(SQL, conn); adapter.Fill(ds2); GridView1.DataSource = ds2; GridView1.DataBind(); string jour = DateTime.Now.ToLongDateString(); lbDate.Text = jour; }
Quelqu'un aurait-il une petite idée ?
Merci d'avance
Partager