J'ai essayer de faire ceci:
Mais j'ai le message d'erreur suivant :Code:cmd.Parameters.Add("@ZipCode", SqlDbType.Int).Value = Convert.ToInt32(tbZipCode.Text);
"Le format de la chaîne d'entrée est incorrect".
je ne comprends pas.
Version imprimable
J'ai essayer de faire ceci:
Mais j'ai le message d'erreur suivant :Code:cmd.Parameters.Add("@ZipCode", SqlDbType.Int).Value = Convert.ToInt32(tbZipCode.Text);
"Le format de la chaîne d'entrée est incorrect".
je ne comprends pas.
1- Que contient tbZipCode.Text ?
2- Est tu certain que le Type ZipCode dans la DB est du int ? (meme si c'est une mauvaise idée)...
3- Pour les conversion de chaine en int, je te conseille de faire un int.TryParse plutot qu'un convert
tbZipCode.Text contient le Code postale que j'insereré par le biais d'un formulaire.
Le type de ZipCode est bien de type Int dans ma base. (Pourquoi es une mauvaise idée de le mettre de type int?)
Je vais tester avec un TryParse. Merci
Cordialement.
C'est pas tout de le dire ou de le penser !Citation:
tbZipCode.Text contient le Code postale que j'insereré par le biais d'un formulaire.
Il contient quoi exactement lors de l'erreur
Pour etre plus clair :
Ne reponds pas "un code postal" mais QUEL code postal ?
C'est pas une bonne idée de mettre un code postal en int car certains codes postaux dans certains pays peuvent contenir des caracteres alphabetiques et si un jour du dois les traiter :aie:
Tout d'abord merci a toi "olibara" pour toutes tes réponses.
je viens de mettre le type de ZipCode en NVarChar (J'avais oublier cette alternative des codes postaux).
Enfaîte le problème, ne vient pas de mon code je pense ^^. Mais plutot, la ou j'ai placé mon bout de code.
Je l'ai mis dans la méthode
Donc ce qui fait que lorsque je charge ma nouvelle fenetre, la variable n'a aucune donnée dans mon champ tbZipCode.Text.Code:private void frmNewCustomer_Load(object sender, EventArgs e)
Donc il me met que la chaîne d'entrée n'est pas correcte (il s'attend a avoir "34453" alors qu'il reçoit "".
Donc on mettant par exemple :
Sa marche.Code:cmd.Parameters.Add("@ZipCode", SqlDbType.NVarChar).Value = "45367";
Donc il faut que je mette mon code dans une autre méthode. Cependant, je ne sais pas ou je dois le mettre. J'ai essayé dans
Mais sa ne marche pas. les données ne s'insére pas.Code:private void btnOK_Click(object sender, EventArgs e)
Comment puis-je faire?
Désolé d'embêter tous le monde avec mon problème que je n'arrive pas à résoudre.
Salut
Je ne connais pas ta form mais d'apres ce que je comprends, elle va servir a saisir des données pour ta DB
Donc il me semble evident qu'un Form Load ne peut pas servir a sauver des données dans une DB mais plutot a les charger en vue de les afficher !!
Exactement. Ma form va permettre de saisir des données afin de les insérer dans ma DB. Ainsi, la méthode que j'utilisé n'est pas la bonne.
Comment puis-je procéder?
Car quand j'appel mon code par le biais de la méthode, rien ne se passe.Code:private void btnOK_Click(object sender, EventArgs e)
Cordialement.
Personne ne peut m'aider ou m'aiguiller?
Voici mon code:
Cependant, il ne se passe rien du tout lorsque je clique sur mon bouton OK. Comment faire? De quoi cela peut il provenir?Code:
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 private void btnOK_Click(object sender, EventArgs e) { try { //string pathBdd = Path.Combine(Application.StartupPath, "dbShelter.sdf"); string pathBdd = @"Data Source=|DataDirectory|\dbShelter.sdf;Password=;Persist Security Info=True"; ConnexionBdd.Init(pathBdd); SqlCeCommand cmd = ConnexionBdd.PreparerCommande("INSERT INTO Customer (Civility, FirstName, Name, AdressL1, AdressL2, " + "ZipCode, City, Country, TelHome, TelOffice, TelMobile, Fax, Email, Observations, OriginBooking, TypeOf, " + "Appreciation, DateCreated) " + "VALUES (@Civility, @FirstName, @Name, @AdressL1, @AdressL2, @ZipCode, @City, @Country, @TelHome, @TelOffice," + "@TelHome, @Fax, @Email, @Observations, @OriginBooking, @TypeOf, @Appreciation, @DateCreated)"); //Attribution des valeurs aux paramètres cmd.Parameters.Add("@Civility", SqlDbType.NVarChar).Value = cbCivility.Text; cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar).Value = tbFirstName.Text; cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = tbName.Text; cmd.Parameters.Add("@AdressL1", SqlDbType.NVarChar).Value = tbAdressL1.Text; cmd.Parameters.Add("@AdressL2", SqlDbType.NVarChar).Value = tbAdressL2.Text; cmd.Parameters.Add("@ZipCode", SqlDbType.NVarChar).Value = tbZipCode.Text; cmd.Parameters.Add("@City", SqlDbType.NVarChar).Value = tbCity.Text; cmd.Parameters.Add("@Country", SqlDbType.NVarChar).Value = cbCountry.Text; cmd.Parameters.Add("@TelHome", SqlDbType.BigInt).Value = Convert.ToInt64(tbTelHome.Text); cmd.Parameters.Add("@TelOffice", SqlDbType.BigInt).Value = Convert.ToInt64(tbTelOffice.Text); cmd.Parameters.Add("@TelMobile", SqlDbType.BigInt).Value = Convert.ToInt64(tbTelMobile.Text); cmd.Parameters.Add("Fax", SqlDbType.BigInt).Value = Convert.ToInt64(tbFax.Text); cmd.Parameters.Add("Email", SqlDbType.NVarChar).Value = tbEmail.Text; cmd.Parameters.Add("@Observations", SqlDbType.NVarChar).Value = tbObservations.Text; cmd.Parameters.Add("@OriginBooking", SqlDbType.NVarChar).Value = cbOriginBooking.Text; cmd.Parameters.Add("@TypeOf", SqlDbType.NVarChar).Value = cbTypeOf.Text; cmd.Parameters.Add("@Appreciation", SqlDbType.NVarChar).Value = cbAppreciation.Text; cmd.Parameters.Add("@DateCreated", SqlDbType.DateTime).Value = dtpDateCreated.Value; cmd.ExecuteNonQuery(); } catch (Exception x) { MessageBox.Show(this, x.Message, "Erreur Connexion à la base", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); } }
Cordialement.
Tu passe dans le code au moins ?
Je ne passe pas dans le code.. et je ne comprends pas pourquoi.
J'ai essayer avec des points d'arrets. mais sa ne fait rien. Donc j'en déduit que sa ne passe pas dans le code.
Pourquoi a ton avis?
Cordialement.
Verifie les event de ton bouton !
C'est bon, sa passe enfin dans le code. il y avait un soucie au niveau des events. Merci beaucoup pour tes petites indications qui me permettent d'avancer dans mon projet.
Par contre, tous le code précédemment mis sur la discussion est bon mais il ne se sauvegarde pas dans la BD. Car quand je lance mon appli pour tester, les infos s'insére car je peux le voir dans mon DataGrid. Mais lorsque je retourne sur visual studio et que je regarde l'aperçu de mes données de ma BD. Il n'y a rien.