begin process at 2010 02 10 08:31:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Problème de champs vide.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de champs vide.

lundi 24 avril 2006 à 18:12:41 | Problème de champs vide.

boy77000

Salut je gère une base de données via OleDb de ADO.NET !

Descriptif de l'application:
Les données 'Nom' et 'Prénom' de ma table 'Clientold' sont affichées dans des textbox ('Nom.text' et 'Prenom.text') et j'ai des boutons 'précédent' et 'suivant' pour passer d'un enregistrement à l'autre. Certains prénoms ne sont pas rempli dans la base de données ( des gens ont un nom mais pas de prénom en gros )

Problème:
Quand je veux lire ma base de données cela fonctionne si je demande que le nom mais pas quand je demande le prénom car le champ est NULL sûrement.

Je ne sais pas où mettre ma requête pour annuler les contraintes de champs NULL sachant que sur ma base de données la contrainte champ null est autorisé.

Si il faut une requête Sql voici ce que j'ai trouver dites moi si c'est bon si il faut bien ce code Sql SVP merci!

Solution 1:
ALTER TABLE Clientold CHANGE 'Prénom' 'Prenom' TEXT
Solution 2:
ALTER TABLE Clientold CHANGE 'Prénom' VARCHAR( 100 ) ;

La question:
Comment enlevé la contrainte de champ non null


Merci d'avnce de vos nombreux messages que j'attends avec impatience!

lundi 24 avril 2006 à 19:50:13 | Re : Problème de champs vide.

asecher

Un truc qui ne marche pas mal, c'est :

prenom.text = "" & rs!Prenom
(les joies du empty, null & c°)

Cordialement,

Alain 31
mardi 25 avril 2006 à 10:23:16 | Re : Problème de champs vide.

boy77000

@ mcs2006 :
Ta dernière solution est bien, j'y avais pas pensais, mais je suis pas sur qu'il accepte que j'update sous prétexte que c'est un champ vide. Faut que je regarde mais le Update fonctionne pas à cause des champs vides! Donc il faut que je l'autorise avant toutes manipulations!

@ asecher :
Désolé de paraître ignare Mais rs: c'est RecordSet
Et que fait ta fonction:
prenom.text = "" & rs!Prenom
Quoi si tu peut m'expliquer vite fait et me dire dans quoi je dois le mettre! (update, form load, read, ... )


En tout cas merci d'avoir répondu aussi vite.
mardi 25 avril 2006 à 11:55:00 | Re : Problème de champs vide.

asecher

1 : rs est bien un recordset

Sinon, n'ayant pas ton code sous les yeux, ce n'est pas évident.

Tu peux enlever la contrainte NOT NULL en faisant un :
ALTER TABLE Clientold
ALTER Prenom  SET  NULL

Normalement "vide" n'est pas équivalent à Null (ce que fait mcs2006 en mettant '' (vide) sur tous les premons qui sont à Null).

A+


Alain 31
mardi 25 avril 2006 à 17:23:33 | Re : Problème de champs vide.

boy77000

Attention les yeux je me lance, je postes le code de mon read.


        ''''''''''Voir un enregistrement''''''''''
        ' 'Update' lock les table, le fait de faire un Close puis Open les délock
        Me.ObjetConnection.Close()
        Me.ObjetConnection.Open()

        strSql = "SELECT Clientold.* FROM Clientold ORDER BY Nom" Pour info le ORDER BY fonctionne pas mais ceci est une autre histoire! lol
        ObjetCommand = New OleDbCommand(strSql)
        ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
        ObjetCommand.Connection() = ObjetConnection
        Me.ObjetDataAdapter.Fill(ObjetDataSet, "Clientold")
        ObjetDataTable = ObjetDataSet.Tables("Clientold")

        If RowNumber < 0 Then
            ObjetConnection.Close()
            Exit Sub
        End If
        'Lors de l'ouverture de la BD, s'il yn'y a aucun enregistrement
        If RowNumber > ObjetDataTable.Rows.Count - 1 Then
            ObjetConnection.Close()
            Exit Sub
        End If
  
        'ObjetTable.Rows(Numéro de lignes).Item(Nom de colonne) donne le contenu d'un champ dans une case donnée
        'Item peut avoir en paramètre le nom de la colonne ou son index
        Me.Nom.Text = ObjetDataTable.Rows(RowNumber).Item("Nom").ToString
        If Not isnull(ObjetDataSet, "Prénom") Then
            Prenom.Text = ObjetDataTable.Rows(RowNumber).Item("Prénom").ToString
        Else
            Prenom.Text = ""
        End If

        'affichage des données dans le datagrid            
        DataGrid1.SetDataBinding(ObjetDataSet, "Clientold")
       
        Me.ObjetConnection.Close()

En bleu la partie changée!
En vert ce qui n'est pas accepter!

Je rappel que je suis sous VB.NET et je n'ai pas fait de RecordSet mais un DataSet!

Voilà donc ce que mcs2006 ne va pas je sais pas pourquoi j'ai fais un Imports System.DBNull au début donc ca ne viens pas de  là!

Ce n'est pas contre toi mcs2006 lol J'y peux rien si ca veux pas moi



@ asecher: Je te l'ai dit par MP mais je redis ici au cas ou quelqu'un d'autre puisse me répondre!
le :
ALTER TABLE Clientold
ALTER Prenom  SET  NULL

Cà se met où? (read, update, form load,..) et dans quoi? (dataset, dataadapter,...) car je suis pas en Sqlserver mais OleDb!

mardi 25 avril 2006 à 17:51:36 | Re : Problème de champs vide.

asecher

Moi, je mettrais  
Prenom.Text = "" & ObjetDataTable.Rows(RowNumber).Item("Prénom").ToString

à la place de
        If Not isnull(ObjetDataSet, "Prénom") Then
           
Prenom.Text = ObjetDataTable.Rows(RowNumber).Item("Prénom").ToString
        Else
            Prenom.Text = ""
        End If

D'autre part, pour le Alter Table (qui n'est à faire qu'une fois) :
Soit tu as ma main sur la base de données et tu enlève la contrainte Not Null sur le prénom, soit tu le met dans un strSQL avec un GO à la fin.
je n'utilise pas l'OLEDB donc je ne connais pas les syntaxes.

Cordialement,

Alain 31
mercredi 26 avril 2006 à 11:28:31 | Re : Problème de champs vide.

boy77000


If Not IsDBNull(ObjetDataSet!Prénom) Then
    Prenom.Text = "" & ObjetDataTable.Rows(RowNumber).Item("Prénom").ToString
Else
    Prenom.Text = ""
End If
C'est bien IsDBNull maintenant qu j'y repense! lol
Mais cette fois c'est çà qu'il veut pas!
Mais moi j'ai un DataSet aors est-ce que c'est pareil avec un DataSet et un RecordSet !?!?

Ensuite j'ai tester un changement car le '!' m'a parut bizarre je me suis dit que c'était peut être du VB6 çà aussi, car dans mon code j'écrivais pas de cette façon. lol:

ObjetDataSet!Prénom ===> ObjetDataSet, "Prénom"
Mais ca ne marche pas non plus ! lol

Pour les Imports je penses qu'il vaut mieu en appeler trop que pas assez alors j'ai appeler tout çà:

Imports System
Imports System.Data
Imports System.Data.DataSet
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Imports System.DBNull
Imports Microsoft.VisualBasic.Information


Si ca n'est pas bien d'en appeler pour une certaines raison merci de me dire!
En rouge celle que j'ai appelées pour notre partie du code!
Car System.VisualBasic.Information ne fonctionne pas sûrement en VB6


Merci de m'avoir aider et de continuer à me supporter encore un peu car je sais que je suis relou!
On peut croire que j'atends tout sans chercher mais je vous assure avoir chercher et c'est la première fois que j'utilise VB.NET, je dois faire une gestion de base de données pour mon stage de fin d'étude! Et je penses m'en être bien sortit jusque là car j'ai réussi un read update ..... Je dis çà pour montrer que je suis pas là pour demander à chaue fois sans chercher avant! Voilà ++

Et merci d'avance!
mercredi 3 mai 2006 à 09:37:05 | Re : Problème de champs vide.

boy77000

Réponse acceptée !
J'ai revérifier et en fait je mettais tromper de table quand j'avais vérifier et autorisé les champs vide je l'avais fait pour la table de  sauvegarde.

Donc maintenant ca fonctionne. Merci ++


Cette discussion est classée dans : problème, base, données, prénom, champs


Répondre à ce message

Sujets en rapport avec ce message

problème Base de données [ par Fab ] Bonjour,Je travaille à la conception d'un outil (Systeme d'Information Territorial)d'aide à la décision. Je développe sur VB 6 et MapObject.Je suis no HELP Base de Données [ par Yerffuaj ] bonjour J'ai un problème qui me bloque, J'ai une base de données contenant 10 champs (lignes) et j'aimerais pouvoirprendre modifier et enregistrer Problème modif. données - base Oracle [ par Sandrine ] Bonjour,Je développe une application utilisant une base de données Oracle.J'arrive à me connecter à la base par OpenDatabase (puisque j'arrive à affic Caractère spéciaux dans champs base de données [ par NetWork001 ] Bonjour, Ma question est peut-être rébarbative, mais je me permets de la reposer... Quand je veux copier une ligne de données, et que, dans cette lign Base de données [ par Mariotte42 ] Bonjour Avec visual basic 6, je voudrai sur un form afficher dans un unique datagrid les champs d'une basse de données access. Les tables de ma base s Requete sur une Base de données ACCESS [ par eludovic ] Bonjour,Je voudrais ssavoir comment faire un filtre dans une requete Access sur champ contenant des chiffres et des lettres, je voudrais filtres les c Champs base de données [ par Symcod ] Symcodj'aimerais mettre dans un tableau des champs pour une base de donner Ex: Au lieu de faire !a = 1 !b = 2 !c = 3 je voudrais déclarer un t Problème DataControl et Access 2000 [ par wico2002 ] J'ai une base de données 2000 et j'utilise le datacontrol,mais il y a une erreur de compatibilité, j'aimerais savoir si il y a un fichier que je peux connexion avec base de données [ par gassane ] Bonjour, J'ai un petit problème avec VB 6.0. J'essai d'établir une connexion avec une base Access et de pouvoir y mettre des enregistrements. Cependan Problème effacement base données [ par vichenzo ] Salut à tousJ'ai une base de données sans contrôle DATA reliée avec une liste box.Je souhaite selectionner un élément de la listbox et l'effacer de ce


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales