Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : DBNull erreur lors du Bind avec SQL Server [ Base de données / SQL Server ] (fabienfs)

dimanche 7 septembre 2008 à 17:33:54 | DBNull erreur lors du Bind avec SQL Server

fabienfs

Membre Club Administrateur CodeS-SourceS
Bonsoir,

J'ai un soucis de DBNull lors du Bindage.
J'utilise la méthode la plus simple, aucun contrôle Data. J'utilise juste mes Textbox et DropDownList dans ma page et j'insère les données venant de SQL Server dans ceux-ci par code champ par champ, textbox par textbox.

Exemple : tbNom.Text = myReader("nom")

Tout va bien, sauf quand de nouveau quand mon champ nom (en nvarchar) dans SQL Server est vide. Je voudrais éviter de mettre une valeur par défaut dans SQL Server pour résoudre ce souci car j'ai beaucoup trop de champs. J'ai une centaine de Textbox à binder.

Voici l'erreur :
La conversion du type 'DBNull' en type 'String' n'est pas valide.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Que faut il faire pour vérifier d'abord si myReader("nom") est DBNull ou pas ?
J'avais mis au départ tout mes myReader entre le blog Try/Catch, mais le souci c'est que dès qu'il tombait sur un champ qui était DBNull, il ne remplissait pas mes Textbox d'après. Il arrêtait le processus.

J'essaye de trouver une solution au plus simple car comme j'ai dis plus haut, j'ai une centaine de textbox de données à remplir. Le plus simple serait sûrement de faire une fonction du genre TestDBNull(myReader("nom")) qui vérifie d'abord si mon reader nom est DBNull ?

Merci

A++


Fabien Schenkels (alias fabienfs)

dimanche 7 septembre 2008 à 18:17:28 | Re : DBNull erreur lors du Bind avec SQL Server

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Toute implémentation de data reader (donc ici SqlDataReader) doit posséder une méthode IsDBNull définie par l'interface IDataRecord.
Et de mémoire la classe Convert expose aussi cette méthode.



/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 7 septembre 2008 à 18:28:25 | Re : DBNull erreur lors du Bind avec SQL Server

ggtry

Réponse acceptée !
Bonjour,

en vb :

 If IsDBNull(myreader("nom")) = False Then
                TextBox1.Text = myreader("nom")
 End If

Je n'ai peut-être pas bien compris ce que tu faisais exactement, mais ne pouvais-tu pas faire un datalist, par exemple ?


GGtry

dimanche 7 septembre 2008 à 19:07:11 | Re : DBNull erreur lors du Bind avec SQL Server

fabienfs

Membre Club Administrateur CodeS-SourceS

Bonsoir,

Aussi simple que ca... :)
C'est parfait.

Au début j'avais fait ca avec un FormView, mais j'ai abandonné l'idée.

Merci à vous.

A++


Fabien Schenkels (alias fabienfs)

lundi 8 septembre 2008 à 13:29:36 | Re : DBNull erreur lors du Bind avec SQL Server

hudon77

Réponse acceptée !
tu peux le gérer directement dans ta requete sql aussi.

exemple:    Select  IsNull(prenom, "") as Prenom From table

Donc si tu as une valeur null il te retournera un string vide.

Nicolas!

lundi 8 septembre 2008 à 13:50:54 | Re : DBNull erreur lors du Bind avec SQL Server

fabienfs

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

Bon à savoir ca ! J'ai créé une petite fonction pour faire ca plus facilement :

Public

Function CheckDBNull(ByVal NomChamp AsString) AsObject
     If IsDBNull(myReader(NomChamp)) = TrueThen
          ReturnString.Empty
     Else
          Return myReader(NomChamp)
     EndIf
EndFunctionA++


Fabien Schenkels (alias fabienfs)



Cette discussion est classé dans : textbox, erreur, sql, server, dbnull


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec SQL SERVER [ par valou ] salut,j'ai un probleme pour une requete en asp sur sql server.voici mon code:Set conn = Server.CreateObject("ADODB.Connection")connstring = "driver={S probleme de connexion à sql server [ par adeath ] Voici le message d'erreur de IIS : SQL Server n'existe pas ou l'accès est refusé. Description : Une exception non gérée s'est produite au moment de l' Erreur sur une requête paramétrée [ par guillem69 ] Bonjour, A l'execution de ma requête, je tombe sur le message d'erreur :"Microsoft OLE DB Provider for ODBC Drivers error '80040e21' [Microsoft][ODBC Microsoft OLE DB Provider for SQL Server erreur '80004005' [ par beedjees ] Bonjour,Depuis plusieurs semaine, nous rencontrons aléatoirement cette erreur : Microsoft OLE DB Provider for SQL Server erreur '80004005' [DBNETLIB][ Provider & Sql Server 2005 [ par Pipi ] Bonjour, J'ai un problème dans mon apllication avec le provider. J'utilise une base de données SQL (pas express). Et lorsque je veux me connecter en Hebergement ASP.NET/SQL SErVER [ par Yxion ] Salut,J'ai actuellement un site Web qui fonctionne sur mon PC (XP... avec IIS qui sature ) et je cherche maintenant un hebergeur, pour plus de débit, SQl server 2000 à défaut de 2005 ... ! [ par bingss ] Bonjour,Voici mon problème,J'ai développé un site en ASP.NET 2.0 avec Visual Web 2005(Express).Ce site est lié à une base de données que j'ai développ Problème de service web [ par ManuAntibes ] BonjourJ'ai ecrire un web service sur mon poste avec Visual web developer express, il fonctionne tres bien en localhost.Aujourd'hui je souhaite le met Image + pdf + sql server [ par mdemo ] Bonjour,Je suis sous 2.0 et sql server 2005.J'ai des photos sur le serveur, et leurs noms sous sql server.Je souhaite créer un document pdf en automat [ASP SQL Server 2000] Ouverture et fermeture de connexion [ par TompouceTN ] Bonjour,Nous avons actuellement des soucis de temps de réponse sur nos applications web asp (2 serveurs web en cluster interrogeant 1 serveur BDD SQL


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,172 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.