Commande SQL INSERT INTO valeur NULL dans un champ numérique [Résolu]

Messages postés
14
Date d'inscription
dimanche 14 octobre 2007
Dernière intervention
14 avril 2008
- - Dernière réponse : mrezguia
Messages postés
4
Date d'inscription
dimanche 22 février 2009
Dernière intervention
1 juin 2009
- 1 juin 2009 à 20:40
Bonsoir,

Je précise que je suis débutant et "autodidacte" en programmation.

J'ai une table access CLIENT qui contient le nom des clients le prenom ... ainsi qu'un champ numérique Age qui peut etre vide.
une partie de mon appli permet de remplir cette table à l'aide d'une form contenant des textbox txbNom,txbPrenom,...,txbAge.

J'ai eu quelques difficultés pour arriver à gerer le fait que la textbox txbAge puisse etre vide car dans le cas ou elle n'était pas renseignée l'execution de ma commande SQL planté du fait que "vide" n'est pas de type numérique.

J'ai finalement opté pour le code suivant :

string sSQL = "INSERT INTO CLIENTS ([Nom],[Prenom],...[Age]) VALUES ('" + txbNom.Text + "','"txPrenom.Text +', ... + "',@Age)";
OleDbCommand oCmd = new OleDbCommand(sRequete, CNXaccess);
oCmd.Parameters.Add("@Num",this.textBox1.Text);
if (string.IsNullOrEmpty(this.txbAge.Text))
oCmd.Parameters["@Age"].Value = DBNull.Value;

Ce code est-il correct ou existe-t-il "mieux" ?

Merci

HzR
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
21
Date d'inscription
jeudi 7 octobre 2004
Dernière intervention
5 mars 2018
3
Merci
salut. t'as le choix. soit la saisie de l'age est facultative; dans ce cas en mode creation sous access, selectionne le champ age. puis donne la valeur "oui" à la propriété "null autorisé en dans de l'ecran.


si la saisie de l'age est obligatoire alors donnes la valeur "non" à cette même propriété. tu renseigneras les  autres propriétés telles que "message si erreur".
ensuite dans une procedure  "KEYPRESS"  du texbox de age tu ecrira qlq chose semblable a ceci:
 
private void .txtaga_keypress(...)
if  keyascii = 13 then
 while txtage = ""
 msgBox("entrer une valeur numerique")
end while
end if
end sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de sygmo
Messages postés
14
Date d'inscription
dimanche 14 octobre 2007
Dernière intervention
14 avril 2008
0
Merci
Oki merci sygmo.
Commenter la réponse de hezar
Messages postés
4
Date d'inscription
dimanche 22 février 2009
Dernière intervention
1 juin 2009
0
Merci
salut
je suis entrain de crée un cite web asp.net mais j'ai une problème avec l'insertion des données  dans une table sql server 2000, à l'aide d'un code C#
merci de vos attention et je besoin de vos aide pleeeeeeeeeeeeeeeeeeeeeese
car j'ai la soutenance de projet de fin d'étude à une duré très courte
Commenter la réponse de mrezguia

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.