Bonjour,
Que peux-je faire pour enregistrer mes données dans le format de mon choix*?
D’abord j’ai créé une procédure stockée suivante dans SQL Server (version 2005)*:
Code sql : 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 [dbo].[Ps_TCotisations] @sTypeAction nvarchar(20), @IdCotisations int, @IdPersonnel int, @INSS float, @MFP float, @IPR float, @AutrCotisation float, @HrSupplement float, @DateCotisation datetime, @Assurance float, @SalaireBase float, @Deplacement float, @Logement float, @FPC float as if @sTypeAction='insert' begin insert into TCotisations(IdPersonnel, INSS, MFP, IPR, AutrCotisation,HrSupplement, DateCotisation,Assurance,SalaireBase,Deplacement, Logement,FPC ) values(@IdPersonnel, @INSS, @MFP, @IPR,@AutrCotisation,@HrSupplement, @DateCotisation, @Assurance,@SalaireBase, @Deplacement,@Logement, @FPC ) End ..Pour tous les calculs ça va bien mais si je clique sur le bouton enregistrer il y a l’erreur suivante*:
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189 // Declaration de variables float Ab = float.Parse("60"); float Bc = float.Parse("100"); float Cd=loat.Parse("200"); float De = float.Parse("17600"); float Ef = float.Parse("4"); float DM = float.Parse("1000"); float Prime = float.Parse("150000"); float DMilles = float.Parse("2000"); public float fSalaireDeBase; public float fINSS; public float fILogement; public float fIDeplacement; public float fNbrEnfant; public float fHrSupplement; public float fAllocFamiliale; public float fIPR; public float fMFP; // Récupération des données dont jai besoin dans la base de donnée (je récupère le salaire de base) private void textHeureSuppl_Enter(object sender, EventArgs e) { try { string sSalaireBase = "select SalaireDeBase FROM VCotation WHERE Matricule='" + comboPersonnel.Text + "' "; SqlCommand oCommand = new SqlCommand(sSalaireBase, oConn); object SalBase = oCommand.ExecuteScalar(); float SalaireBase = float.Parse(SalBase.ToString()); textSalaireDeBase.Text = SalaireBase.ToString(); fSalaireDeBase = float.Parse(textSalaireDeBase.Text); } catch (Exception x) { MessageBox.Show(x.Message); } //Calcul de INSS et Indemnté logement private void textINSS_Enter(object sender, EventArgs e) { try { float INSSBareme = float.Parse("18000"); float FHrSupplement = float.Parse(textHeureSuppl.Text.Trim()); fHrSupplement = (FHrSupplement * fSalaireDeBase * Cd) / De; fILogement = (fSalaireDeBase * Ab) / Bc; fINSS = ((fSalaireDeBase + fILogement + Prime + fHrSupplement) * Ef) / Bc; if (fINSS > INSSBareme) { fINSS = INSSBareme; } textINSS.Text = Convert.ToString(fINSS); textLogement.Text = Convert.ToString(fILogement); } catch (Exception) { MessageBox.Show("Saisissez d'abord le nombre d'heures supplémentaires", "Ce champ Nbre d'heures supplementaires ne doit pas être vide", MessageBoxButtons.OK, MessageBoxIcon.Error); textHeureSuppl.Focus(); textHeureSuppl.SelectAll(); return; } } //Calcul de toutes les cotisations private void butCalculerCotisation_Click(object sender, EventArgs e) { try { float DeplacementCadre = float.Parse("25000"); float DeplacementExecution = float.Parse("12500"); float BaseSuperieur = float.Parse("300000"); float BaseInferieur = float.Parse("150000"); float TrenteMille = float.Parse("30000"); float trenteOnly = float.Parse("30"); float Vingt = float.Parse("20"); float Zero = 0; string select = "select Position FROM VCotation WHERE Matricule ='" + comboPersonnel.Text + "' "; SqlCommand cmd = new SqlCommand(select, oConn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { if (reader[0].ToString().Trim().ToUpper() == "CADRE") { textDeplacement.Text = DeplacementCadre.ToString(); } else { textDeplacement.Text=DeplacementExecution.ToString(); } } fIDeplacement = float.Parse(textDeplacement.Text); reader.Close(); float SurPlusLogement = (fILogement * 60) / 100; float SurPlusDeplacement = (fIDeplacement * 40) / 100; float BaseImposable = (fSalaireDeBase + fAllocFamiliale + SurPlusDeplacement + SurPlusLogement) - fINSS; if (BaseImposable > BaseSuperieur) { fIPR = (((BaseImposable - BaseSuperieur) * trenteOnly) / Bc) + TrenteMille; } else if (BaseImposable > BaseInferieur && BaseImposable < BaseSuperieur) { fIPR = ((BaseImposable - BaseInferieur) * Vingt) / Bc; } else if (BaseImposable < BaseInferieur) { fIPR = Zero; } textIPR.Text = Convert.ToString(fIPR); fMFP = ((fSalaireDeBase + fIDeplacement + Prime + fHrSupplement) * Ef) / Bc; textMFP.Text = Convert.ToString(fMFP); textACS.Text = Convert.ToString(Zero); textAssurance.Text = Convert.ToString(Zero); textFPC.Text = Convert.ToString(Zero); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } Au moment de lenregistrement, jappelle ma procédure stockée de la manière suivante*: private void ButEnregistrer_Click(object sender, EventArgs e) { try { if (textINSS.Text.Trim() != "" && textMFP.Text.Trim() != "" && textIPR.Text.Trim() != "") { string sComExec = "set dateformat dmy exec Ps_TCotisations '" + sTypeAction + "','" + textIdCotisations.Text + "','" + nIdEmploye + "','" + float.Parse(textINSS.Text.Trim()) + "','" + float.Parse(textMFP.Text.Trim()) + "','" + float.Parse(textIPR.Text.Trim()) + "','" + float.Parse(textACS.Text.Trim()) + "','" + float.Parse(textHeureSuppl.Text.Trim()) + "','" + System.DateTime.Now + "','" + float.Parse(textAssurance.Text.Trim()) + "','" + float.Parse(textSalaireDeBase.Text.Trim()) + "','" + float.Parse(textDeplacement.Text.Trim()) + "','" + float.Parse(textLogement.Text.Trim()) + "','" + float.Parse(textFPC.Text.Trim()) + "'"; SqlCommand oCommand = new SqlCommand(sComExec, oConn); oCommand.CommandText = sComExec; oCommand.ExecuteNonQuery(); ActiverBouton(); sTypeAction = "Null"; DSCotisations.Clear(); DACotisations.Fill(DSCotisations, "VCotisations"); dgvCotisations.DataSource = null; dgvCotisations.DataSource = DSCotisations.Tables["VCotisations"]; //************************* comboPersonnel.Text = ""; textINSS.Text = ""; textMFP.Text = ""; textIPR.Text = ""; textHeureSuppl.Text = ""; textACS.Text = ""; textAssurance.Text = ""; textFPC.Text = ""; textSalaireDeBase.Text = ""; textLogement.Text = ""; textDeplacement.Text = ""; //************************** } else { MessageBox.Show("Compléter tous les champs nécessaires SVP!!!!!", " OTB Tora Software "); return; } ActiverBouton(); sTypeAction = "Null"; } catch (Exception x) { MessageBox.Show(x.Message); } }
Aidez-moi! Ou si possible vous pouvez me proposer une autre manière de faire.«*Error converting varchar to float*»
Cordialement.
Apperçu du formulaire
Cordialement!
Partager