Question [Résolu] Afficher contenu table Sql dans listbox ?

Plus d'informations
il y a 8 ans 6 mois #24138 par Riblito
Salut !
Je reviens vous voir.

Je dois faire un script avec une base de donnée.

pour commencer j'ai réussi à faire un bouton qui ajoute une donnée dans une table de la base de donnée.

Voici le script :

[code:1][void][system.reflection.assembly]::LoadWithPartialName(\"Mysql.Data\"«»)

#chaine de onnection
$connstr = \"server=localhost;uid=root;password=5693;database=info_isec;port=3306\"

# creation de lobjet connection
$ObjMysql = New-Object Mysql.Data.Mysqlclient.Mysqlconnection($connstr)

# ouverture

$ObjMysql.open()

$req = \"select * from t_locaux\"

#creation objet commande
$Sqlcommand = new-object Mysql.data.mysqlclient.mysqlcommand($req,$objmysql)

#initialisation de l'adapteur
$mysqlAdapt = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Sqlcommand)

#création dataset
$mysqldataset = new-object System.Data.DataSet

#remplissage du data set
$recordcount = $mysqlAdapt.fill($mysqldataset)
Write-Host $recordcount


$button_loADD.Add_Click(
{
$disp_pre = $textbox_Nomlo.Text
$req=\"insert into t_locaux values (6, '$disp_pre')\"
$sqlcommand.commandtext=$req
$Sqlcommand.executenonquery()
})[/code:1]


Mais maintenant je cherche à faire une listbox qui affiche le contenu de la table.

Par exemple dans la table j'ai ID, le nom, couleur
01 / meuble / bleu

J'aimerais que mon script m'affiche dans la listbox 2 colonnes, une nom et une couleur .... je sais faire cela mais en cherchant des données qui se trouve dans un .text ou csv .... la dans une base de donnée j'en ai aucune idée !!

merci de votre aide !<br><br>Message édité par: Arnaud, à: 5/09/17 15:09

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

Plus d'informations
il y a 8 ans 6 mois #24140 par Philippe
salut elemremy

pour commencer un tuto sur la création de winforms sous PowerShell sur ce site

après tu peut remplir ta listbox comme ceci par exemple :
[code:1]$collection = Get-Process | foreach {$_.Name}
$listbox1.Items.AddRange($collection)
[/code:1]

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

Plus d'informations
il y a 8 ans 6 mois #24143 par Riblito
Merci pour ta réponse.

Je sais déjà fais ça, vu que j'ai réussi à faire des listbox ... mais je connais pas la syntaxe pour mettre le contenu d'une base de donnée SQL dedans .....

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

Plus d'informations
il y a 8 ans 6 mois #24146 par Philippe
je répète ...

après tu peut remplir ta listbox comme ceci par exemple :
[code:1]$collection = Get-Process | foreach {$_.Name}
$listbox1.Items.AddRange($collection)
[/code:1]

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

Plus d'informations
il y a 8 ans 6 mois #24147 par Philippe
excuse moi, je crois que les vacances mon tous effacer le cerveau

tu a le choix entre :
- SQLDataAdapter
- et ExecuteReader


un exemple pour les deux sur ce site

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

Plus d'informations
il y a 8 ans 6 mois #24149 par Philippe
excuse moi, je crois que les vacances mon tous effacer le cerveau

tu a le choix entre :
- SQLDataAdapter
- et ExecuteReader


un exemple pour les deux sur ce site

Edit : je complète pour du MySQL :

sur ce site un exemple de lecture de données

pour toi ça donne :
[code:1]
$connstr = \&quot;server=localhost;uid=root;password=5693;database=info_isec;port=3306\&quot;
[void][System.Reflection.Assembly]::LoadWithPartialName(\&quot;MySql.Data\&quot;«»)
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $connstr
$Connection.Open()

$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Sqlcommand)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, \&quot;data\&quot;«»)
$collection = $DataSet.Tables[0].nom_du_champ_dans_ta_table
$listbox1.Items.AddRange($collection)
[/code:1]ça rempli une listbox de nom $listbox1 les données d'une colonne de la table de ta base
comme je ne connais pas ta base ni les tables quels contiennent,
il te faut remplacer dans avant dernière ligne nom_du_champ_dans_ta_table par le nom de la colonne dont tu a besoin
.

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

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