Vérifier si un champ est vide

abbeilleee Messages postés 43 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 9 février 2014 - 15 nov. 2013 à 00:21
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 19 nov. 2013 à 07:53
Bonjour,
je voudrais vérifier sur ma base de donnée si un champ (position 3) est vide ou rempli, si c'est vide (true), je fais une instruction, sinon(false), je fais rien !
comment faire, un code si possible !

2 réponses

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
Modifié par nagashima le 15/11/2013 à 09:54
salut,

quel type de base de donnée?

je suppose que tu veux faire le traitement en c# ?

si tu récupère les résultats, il suffit de regarder s'il est égal à une chaine vide.

naga
1
abbeilleee Messages postés 43 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 9 février 2014
15 nov. 2013 à 11:44
oui en c#, oui comment faire pour vérifier ca, stp !
j'ai pensé prendre les valeurs de ma table et les afficher dans des textbox, aprés de vérifier si le textbox et vide ou pas et de traiter !
il y une méthode plus pratique, stp ?
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
15 nov. 2013 à 13:25
et bien tu peux plutot filtrer dans ta requête en ne prenant que les éléments vides.

Mais pour quelle raison passer par des éléments graphiques? il te suffit de les stocker dans une List ou même de faire les traitement à la volée (c'est à dire lors de la lecture des résultats de ta requête).

Pour pouvoir t'aider mieux, il faudra certaines informations complémentaires :
- le script de ta table (de manière à construire la requête),
- le code concernant la connexion à ta base
- le code qui effectue la requête

naga
0
abbeilleee Messages postés 43 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 9 février 2014
15 nov. 2013 à 13:47
comment faire pour les stocker dans une list, bon voila la table
Table posistion
idpos(primaire)position1,position2,position3,position4,position5,position6,position7
le code de la base ;
SqlConnection connexion = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\abbeille\\Documents\\gestion.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
alors, ce que je veux faire, c'est a l'ajout d'un utilisateur, je vais prendre son id et de le mettre dans une position jusqu'il arrive a la position 6 !
alors, je dois tester si la position est vide ou pas pour pour voir l'ajouter a une position, alors si la position vide je prend l'id du l'utilisateur et je le met a une position, sinon, je le met dans la position d'aprés, jusqu'a la position 6(max), aprés je supprimer la premier position pour laisser l'espace a une derniére.
Merci de bien vouloir m'aider l'ami !
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
15 nov. 2013 à 14:40
comment faire pour les stocker dans une list


http://www.dotnetperls.com/list


pour ta connexion ca ok.
Pour la suite je ne vois pas trop ce que tu veux faire, par contre je peux te dire comment déterminer la première position libre (on dira que l'on souhaite voir pour
idpos=1
)

(tu as mis le nom de ta table : "posistion", je garde donc ce nom)

SELECT if( position1 = '', '1',
                    if( position2 = '', '2',
                         if( position3 = '', '3',
                               if( position4 = '', "4",
                                     if( position5 = '', '5',
                                           if( position6 = '', '6', '0')
                                       )
                                 )
                          )
                      )
              ) as posLibre
FROM posistion
where idpos=1


ce n'est pas le code le plus propre possible, mais je pense que tu comprendra facilement l'idée : on regarde la première colonne vide (chaine vide. S'il faut test si null à toi de rajouter et gérer le tout), et on renvoi l'indice. Si aucunes colonnes dispo, on renvoi 0.

Ensuite c'est donc à toi de gérer ton traitement en fonction du résultat.
Ce que tu veux ressemble un peu à une pile de client ... et quand un nouveau client arrive, on vire le plus ancien. Si c'est bien le cas, renvois '1' au lieu de '0' si rien n'est dispo. De cette manière tu récupèrera l'indice dans laquelle insérer, sans avoir à vérifier quoi que ce soit (et construire le nom de ta colonne par progarmmation, par exemple :
string table = "position" + indice_recupere;
. )

naga
0
abbeilleee Messages postés 43 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 9 février 2014
15 nov. 2013 à 19:22
Merci beaucoup l'ami, ca m'aide beaucoup, je vais le mettre en pratique tout de suite !
0
abbeilleee Messages postés 43 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 9 février 2014
16 nov. 2013 à 00:03
prenons l'exemple de l'id 1, si la position 1 est vide il ajoute dans cette position, quand il viendras pour ajouter un autre enregistrement, il trouvera que la position 1 est remplis, il va ajouter a la position 2 ....
je vais essayer ce code en m'inspirant de ce que tu m'a donner !
SELECT if( position1 = '', 'insert into matable values (position1),
if( position2 = '', ''insert into matable values (position2)'
if( position3 = '', 'insert into matable values (position3)',
if( position4 = '', "insert into matable values (position4)",
if( position5 = '', 'insert into matable values (position5)',
if( position6 = '', '6', '0')
)
)
)
)
) as posLibre
FROM posistion
where idpos=1
et quand il arrive a la la position 6, tout les positions recule en arriére et la premiére position supprimer, donc la position 2 sera a la premiére position.
0
Rejoignez-nous