begin process at 2012 05 27 21:05:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

DBNull erreur lors du Bind avec SQL Server


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

DBNull erreur lors du Bind avec SQL Server

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ée 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 Erreur 500 [ par Mayzz ] Bonjour, Je conçois actuellement un site web, et j'ai comme hébergeur WS (Hébergeur discount), SQL Server étant en option (C'est un peu n'importe qu Comment configurer asp.net 3.5/SQL Server 2005 Full pour utiliser membership ? [ par super1985 ] Bonjour,Je voudrais utiliser les membre de la classe Membership sous aps.net 3.5 en utilisant SQLServer 2005 full version . J'ai essayé d'utiliser l' problème avecune requête SQL [ par sylvain64520 ] Salut à tous, J'ai un problème avec ma requête SQL. Voici le message d'erreur : Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14' [Micro Connexion d'une application web avec une bdd sql server 2005 [ par wislam2007 ] bonjour, Je suis entrain de développer une application web (web developer express edition) qui doit se connecté avec une base de donnée sql server 20 erreur mysql php [ par asma87 ] Bonjour j'ai ce message d'erreur lorsque je veux inserer des donneés dans ma base à traves mon interface php portant je pense que la syntaxe est corr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,421 sec (4)

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