rss
URGENT VB.NET
par cindy_misa
 Fil de Discussions
Statut : Résolu
mercredi 5 mars 2008 à 11:12:44
Bonjour à tous,
J'aimerais savoir la syntaxe de isdbnull .
Je vais vous expliquer : dans ma base de données j'ai plusieurs champs qui ont la valeur null , mais lorsque j'exécute le programme , il plante et affiche l'erreur "conversion from type dbnull to 'string' is not valid ".Alors je veux savoir comment faire pour appliquer la fonction isdbnull sur tous ces champs en même temps ;ça veux dire à chaque fois qu'il trouve un champ null il affecte au textbox une chaine vide ou quelque chose pareil.
j'espère que j'étais claire .
NB : je travaille avec vb.net et sql server
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à cindy_misa  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le mercredi 5 mars 2008 à 11:21:52 Fil de Discussions
Salut,

La textbox où tu veux faire afficher ta donnée va bien lire dans une base de donnée?
Pourquoi ne testes-tu pas juste la cellule que tu lis?
Je pense que pour la lecture tu as dûe faire un compteur donc tu n'as qu'a testé. Si ta céllule est vide tu envois un champs vide dans ta textbox sinon tu ecris la donnée.

J'espere avoir été clair sinon n'hésites pas à me contacter.

Bon courage
Répondre à vince190

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Polux31, le mercredi 5 mars 2008 à 11:27:54 Fil de Discussions
bonjour,

En cherchant sur le site de developpez.com je suis tombé là dessus : http://faqvbnet.developpez.com/?page=adonet

Regarde à : Comment exécuter une requête paramétrée ? il y a un exemple avec Is DBNull ... si ça peut t'aider !!!

;o)

Polux
Répondre à Polux31

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 11:40:53 Fil de Discussions
c'est peux être ça , mais dans mon application je travaille en mode déconnecté .Je n'utilise pas le datareader.
merci pour le lien ,c'est gentil
Répondre à cindy_misa

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 11:32:57 Fil de Discussions
j'utilise les textbox pour afficher les champs de la table clients de la base de données ,voici le syntaxe qui teste si la valeur du champ est null :

If Not IsDBNull(dts.Tables("clients").Rows(0)(12)) Then
t13.Text = dts.Tables("clients").Rows(0)(12)
Else
t13.Text = ""
End If

ça marche , mais j'ai beaucoup de champs dans cette table , alors je veux un syntaxe qui teste si un champ de la table est vide .....sans que je refais le sytaxe devant chaque affichage du textbox ,tu vois ce que je veux ?
Répondre à cindy_misa

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le mercredi 5 mars 2008 à 11:42:20 Fil de Discussions
Je vois ce que tu veux oui.
Combien as-tu de textbox comme sa?
Répondre à vince190

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 11:47:01 Fil de Discussions
ok , j'ai 75 textbox !!
Répondre à cindy_misa

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le mercredi 5 mars 2008 à 11:52:04 Fil de Discussions
Ah ok!
A part créer une procédure qui testerait si tes cellules sont vides je vois pas trop. Parce que pour 75 textbox sa risque d'être galère.
A mon avis il faut que tu créer une procédure public.
Tu vois comment faire ou pas?
Répondre à vince190

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 12:00:03 Fil de Discussions
oui , mais quel est le contenu de cette procédure , coment tester si les cellules sont null avec cette procédure ?



merci pour ton aide !!
Répondre à cindy_misa

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Polux31, le mercredi 5 mars 2008 à 12:00:33 Fil de Discussions
Oui je vois très bien ce que tu veux ... mais je n'ai pas la solution miracle ... dsl

;o(

polux
Répondre à Polux31

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 12:13:04 Fil de Discussions
ok , merci en tout cas ,c'est pas grave
Répondre à cindy_misa

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 12:07:07 Fil de Discussions
regardez l'idée que j'ai :
j'ai declaré deux variables i et j :
Dim i, j As Integer
j'ai fait deux procedure :
une pour l'affichage :
Public Sub affichageclientes()
t1.Text = dts.Tables("clientes").Rows(0)(0)
t2.Text = dts.Tables("clientes").Rows(0)(1)
t3.Text = dts.Tables("clientes").Rows(0)(2)
t4.Text = dts.Tables("clientes").Rows(0)(3)
t5.Text = dts.Tables("clientes").Rows(0)(4)
t6.Text = dts.Tables("clientes").Rows(0)(5)
.
.
.
etc ....
end sub

et une pour affecter aux textbox des chaines vides :

Public Sub affichagevide()
t1.Text = ""
t2.Text = ""
t3.Text = ""
t4.Text = ""
t5.Text = ""
t6.Text = ""
t7.Text = ""
t8.Text = ""
.
.
.
.
.
etc...
end sub


et dans le form_load j'ai fait ce test :

str = "data source = localhost ;initial catalog=gestionempresa;integrated security=sspi"
req = "select * from clientes "
con = New SqlConnection(str)
con.Open()
dts = New DataSet("gestionempresa")
dta = New SqlDataAdapter(req, con)
dta.Fill(dts, "clientes")
If Not (dts.Tables("clientes").Rows(i)(j)) Then
affichageclientes()
Else
affichagevide()
End If

mais il a affiché seulement les premiers champs qui ne sont pas vide ,et il a arrete l'affichage .
pouvez vous developpez cette idée avec moi ?
Répondre à cindy_misa

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le mercredi 5 mars 2008 à 14:34:51 Fil de Discussions
C'est ce a quoi je faisais allusion toutaleur.
Tu t'y prends bien mais il faut que tu incrémente ton i et ton j qui sont je pense 2 compteurs que tu veux faire.
Ceux que tu peux faire c'est te servir de i pour incrémenter ton numéro de ligne.
Ensuite tu test à chaque fois si tu as une chaine vide, sa srait du genre:

Public Sub affichageclientes()
for i=1 to eof(1)
t1.Text = dts.Tables("clientes").Rows(i)(0)
t2.Text = dts.Tables("clientes").Rows(i)(1)
t3.Text = dts.Tables("clientes").Rows(i)(2)
t4.Text = dts.Tables("clientes").Rows(i)(3)
t5.Text = dts.Tables("clientes").Rows(i)(4)
t6.Text = dts.Tables("clientes").Rows(i)(5)
next

Je n'ai pas pu essayer vu que je n'ai pas vb sous la main mais j'espere que sa t'aidera. Sinon n'hesites pas a donner plus de renseignements encore pour un coup de main plus efficace.
Répondre à vince190

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 16:18:24 Fil de Discussions
ok, merci en tous cas , mais que signifie for i=1 to eof(1)
je ne comprend pas bien la structure " eof(1) "
Répondre à cindy_misa

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le mercredi 5 mars 2008 à 16:27:33 Fil de Discussions
C'est la fin de fichier. En fait il s'agit d'une fonction qui detecte la derniere ligne de ton tableau.
Pour le for il s'agit d'une boucle qui va executer tout ce que tu auras mis entre le debut et la fin de la valeur 1 à la derniere valeur du tableau.
Répondre à vince190

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cindy_misa, le mercredi 5 mars 2008 à 16:47:07 Fil de Discussions
ok , j'ai fait ce que tu m'as dit mais il a affiché un message d'erreur :
bad file name or number


c'est ce que j'ai ecrit :

If Not (dts.Tables("clientes").Rows(i)(j)) Then
For i = 1 To EOF(1)
affichageclientes()
Next

Else
affichagevide()


End If
Répondre à cindy_misa

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par vince190, le vendredi 7 mars 2008 à 12:12:05 Fil de Discussions 
Ok il faudra que tu m'envois ton projet directement je pense comme sa je regarderais directement pour te donner une solution.
On se voit sur msn...
Répondre à vince190
Discussions pertinentes trouvées dans le forum
16/06 20h32Deploiement vb.netProgrammation16/06 22h471
09/06 10h03Gestion erreur VB.NetProgrammation09/06 15h187
09/06 09h59[VB.NET] Update et champ automatiqueProgrammation09/06 10h271
16/05 08h49Installation projet vb.net pb serveur proxyProgrammation16/05 14h523
06/05 11h01Besoin d'aide en VB.netProgrammation06/05 14h308
Plus de discussions sur « URGENT VB.NET » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger VB Editor 2.0VB Editor - Décompileur de fichiers exécutables compilés avec Visual Basic 5 ou 6 Catégorie: Visual Basic
Licence: Freeware/gratuit
Télécharger Visual Basic Express 2008Visual Basic Express - Visual Basic Express 2008 est la version gratuite de Visual Basic 2008, contenant toutes les fonctionnalités de base du...Catégorie: Visual Basic
Licence: Freeware/gratuit
Télécharger Paint.NET 3.35Paint.NET - Paint.NET est un outil de dessin et de retouche photo prévu pour fonctionner sous les systèmes Windows XP, Vista, ou Server...Catégorie: Dessin
Licence: Freeware/gratuit
Télécharger Microsoft .NET Framework 2.0 (x86) 2.0Microsoft .NET Framework 2.0 (x86) - Le package redistribuable de Microsoft .NET Framework 2.0 installe le runtime .NET Framework et les fichiers associés requis...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « URGENT VB.NET »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide