En convertissant ce simple programme de vb en C# il met à jour, affiche, crée et supprime des éléments d'une petite base de données d'accès. Ci-dessous est la fonction PopulateListBox() dans VB il passe par chaque ligne de l'ensemble de données et voir si elle est supprimée, non supprimée ou a des erreurs. J'obtiens ici 2 erreurs sur les lignes lstAlbums.Items.Add (item); et lstAlbums.Items.Add (delitem); maintenant je me rends compte que les chaînes ne sont pas assignées donc j'ai ajouté string item = ""; chaîne delitem = "";Item wont add to list box
puis lorsque je lance le programme, il remplit chaque deuxième élément de la zone de liste avec une ligne vide.
Comment puis-je surmonter cette situation? merci d'avance à tous ceux qui peuvent m'aider.
private void PopulateListBox()
{
string item;
string delitem;
//clear the list box
lstAlbums.Items.Clear();
//access each row in the data set table
foreach (DataRow row in myDataSet.Tables["albums"].Rows)
{
//list the nondeleted rows
if (!((row.RowState & DataRowState.Deleted) == DataRowState.Deleted))
item = row["albumCode"] + ", " + row["AlbumTitle"] + ", " + row["ArtistCode"];
//list rows with update errors
if (row.HasErrors)
item = "(**" + row.RowError + "**)";
lstAlbums.Items.Add(item);
//list deleted rows
if ((row.RowState & DataRowState.Deleted) == DataRowState.Deleted)
delitem = row["albumCode", DataRowVersion.Original] + ", "
+ row["AlbumTitle", DataRowVersion.Original] + ", "
+ row["ArtistCode", DataRowVersion.Original] + "***DELETED***";
lstAlbums.Items.Add(delitem);
}
Merci Je ne savais pas que dans C# vous aviez besoin d'accolades si les déclarations =] – Zac
@Zac: de rien. Pour clarifier, vous n'en avez pas besoin si vous avez seulement l'intention d'exécuter une déclaration. Pour plusieurs instructions, vous en avez besoin. Il est plus propre de toujours les utiliser même si une déclaration existe pour que l'on sache exactement ce que la condition va entraîner et cela empêche les erreurs comme celles-ci de se faufiler sur vous. –
Oui je vois. Erreur commune que je passe d'aller de VB à C# sans notes distribuées. Merci encore – Zac