Question [Résolu] Base de données dans une ListView

Plus d'informations
il y a 8 ans 8 mois #24203 par Philippe
il semble que la cellule soit vide, peut tu vérifier dans la base

je suis surpris que tu n'est pas l'erreur sur l'ID !!

a tu les autre colonnes qui s'affiche ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 8 mois #24204 par Riblito
Non elles sont remplie ... regarde le screen plus haut.

j'ai ça comme résultat



Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 8 mois #24205 par Philippe
a tu rajouter la ligne
[code:1][Void] $list.Items.Add($item)[/code:1]
dans la boucle ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 8 mois #24206 par Riblito
Ha non, j'ai réussi à faire afficher des truc ! mais pas du tout comme il faut haha, j'ai screen le résultat.

le code :

[code:1]$list = New-Object System.Windows.Forms.ListView
$list.TabIndex = 3
$list.Location = New-Object System.Drawing.Point(400,30)
$list.Size = New-Object System.Drawing.Size(360, 320)
$list.View = \"Details\"
$list.GridLines = $true
$list.FullRowSelect = $true
$list.AllowColumnReorder = $true
$list.Scrollable = $true
$list.Sorting ='None'


$col = $list.Columns.Add(\"ID\", 60)
$col = $list.Columns.Add(\"Nom\", 110)
$col = $list.Columns.Add(\"Batiment\", 110)


[void][system.reflection.assembly]::LoadWithPartialName(\"Mysql.Data\"«»)
$connstr = \"server=localhost;uid=root;password=5693;database=info_isec;port=3306\"
$ObjMysql = New-Object Mysql.Data.Mysqlclient.Mysqlconnection
$ObjMysql.ConnectionString = $connstr
$ObjMysql.open()
$req = \"select * from t_locaux\"
$Sqlcommand = new-object Mysql.data.mysqlclient.mysqlcommand($req,$ObjMysql)
$mysqlAdapt = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Sqlcommand)
$mysqldataset = new-object System.Data.DataSet
$recordcount = $mysqlAdapt.fill($mysqldataset, \"data\"«»)

$list.BeginUpdate()
$list.items.Clear()
foreach ($ligne in $mysqldataset.tables[0])
{
$item = New-Object System.Windows.Forms.ListViewItem($ligne.cli_Nom_loc)
[Void]$item.SubItems.Add($ligne.cli_Bat_loc)
[Void] $list.Items.Add($item)
}
$list.EndUpdate()
[/code:1]

Les erreurs :

[code:1]Impossible de convertir l'argument «item» (valeur «») de «Add» en type «System.Windows.Forms.ListViewItem+ListViewSubItem»: «Impossible de convertir la valeur «» en type «System.Windows.Forms.ListViewItem+ListViewSubItem». Erreur: «Cast non valide de
'System.DBNull' en 'System.Windows.Forms.ListViewItem+ListViewSubItem'.»»
Au caractère G:\profil\Desktop\evolution.ps1:320 : 9
+ [Void]$item.SubItems.Add($ligne.cli_Bat_loc)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument

Impossible de convertir l'argument «item» (valeur «») de «Add» en type «System.Windows.Forms.ListViewItem+ListViewSubItem»: «Impossible de convertir la valeur «» en type «System.Windows.Forms.ListViewItem+ListViewSubItem». Erreur: «Cast non valide de
'System.DBNull' en 'System.Windows.Forms.ListViewItem+ListViewSubItem'.»»
Au caractère G:\profil\Desktop\evolution.ps1:320 : 9
+ [Void]$item.SubItems.Add($ligne.cli_Bat_loc)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument

Impossible de convertir l'argument «item» (valeur «») de «Add» en type «System.Windows.Forms.ListViewItem+ListViewSubItem»: «Impossible de convertir la valeur «» en type «System.Windows.Forms.ListViewItem+ListViewSubItem». Erreur: «Cast non valide de
'System.DBNull' en 'System.Windows.Forms.ListViewItem+ListViewSubItem'.»»
Au caractère G:\profil\Desktop\evolution.ps1:320 : 9
+ [Void]$item.SubItems.Add($ligne.cli_Bat_loc)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument[/code:1]

<br><br>Message édité par: elemremy, à: 7/09/17 14:56

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 8 mois #24207 par Philippe
je te confirme que il vois un champs Null pour cli_Bat_loc
&gt;&gt; Cast non valide de 'System.DBNull' en 'System.Windows.Forms.ListViewItem+ListViewSubItem'

bizarre

déjà modifie la boucle comme ça :
[code:1]foreach ($ligne in $mysqldataset.tables[0])
{
$item = New-Object System.Windows.Forms.ListViewItem($ligne.cli_id)
[Void]$item.SubItems.Add($ligne.cli_Nom_loc)
[Void]$item.SubItems.Add($ligne.cli_Bat_loc)
[Void] $list.Items.Add($item)
}
[/code:1]pour avoir les infos sur la bonne colonne

peut tu vérifier le nom de la colonne \&quot;cli_Bat_loc\&quot; dans la base de donnée

et affiché la variable $ligne pour vérifier aussi le nom des champs dans la variable

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 8 mois #24208 par Riblito
Alors j'ai réussi, j'ai relancé la base de donnée, et la colonne que je voyais affiché a disparu ... je sais pas pourquoi, du coup j'ai re remplit la colonne et tout fonctionne ! merci beaucoup :P

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.047 secondes
Propulsé par Kunena