Comment afficher un DataTable lors du débogage

Je commence juste à utiliser ADO.NET et DataSets et DataTables. Un problème que j’ai est qu’il semble difficile de dire quelles sont les valeurs dans la table de données lorsque vous essayez de déboguer.

Quels sont les moyens les plus simples de voir rapidement quelles valeurs ont été enregistrées dans un DataTable? Est-il possible de voir le contenu dans Visual Studio lors du débogage ou est-ce la seule option pour écrire les données dans un fichier?

J’ai créé une petite fonction utilitaire qui va écrire un DataTable dans un fichier CSV. Pourtant, le fichier CSV créé a été coupé. Environ 3 lignes de ce qui aurait dû être la dernière ligne au milieu de l’écriture d’un System.Guid le fichier s’arrête juste. Je ne peux pas dire s’il s’agit d’un problème lié à ma méthode de conversion CSV ou à la population d’origine du DataTable.

Mettre à jour

Oubliez la dernière partie, j’ai juste oublié de vider mon graveur.

    Avec un sharepoint rupture défini, une fois que le DataTable ou le DataSet est rempli, vous pouvez voir une loupe si vous survolez la variable. Si vous cliquez dessus, il affichera le Visualiseur DataTable, que vous pourrez lire ici .

    Dans cette image que vous voyez ci-dessous, dt est ma variable DataTable et le point d’arrêt a été frappé quelques lignes plus bas, me permettant de survoler cette valeur. Utilisation de Visual Studio 2008.

    texte alt

    DataTable Visualizer ( crédit d’image ):
    texte alt

    J’ai ajouté deux lignes dans mon application dans une classe nommée d’après la classe la plus externe:

    public MyClass() { // The following (2) lines are used for testing only. Remove comments to debug. System.Diagnostics.Debugger.Launch(); System.Diagnostics.Debugger.Break(); } 

    Cela devrait arrêter l’application et l’amener en mode débogage. Ensuite, vous pouvez le parcourir et regarder les valeurs de vos objects lorsque vous les survolez.

    définir le sharepoint rupture sur le jeu de données / datatable (touche de raccourci f9 pour le point d’arrêt) et exécuter votre application (f5 est le raccourci clavier) .

    Note: check compilation debug = “true” est vrai dans la configuration web. Else visual studio ne va pas pour le débogage.

      ///  /// Dumps the passed DataSet obj for debugging as list of html tables ///  ///  the msg attached  ///  the DataSet object passed for Dumping  ///  the nice looking dump of the DataSet obj in html format public static ssortingng DumpHtmlDs(ssortingng msg, ref System.Data.DataSet ds) { SsortingngBuilder objSsortingngBuilder = new SsortingngBuilder(); objSsortingngBuilder.AppendLine(""); if (ds == null) { objSsortingngBuilder.AppendLine("Null dataset passed "); objSsortingngBuilder.AppendLine(""); WriteIf(objSsortingngBuilder.ToSsortingng()); return objSsortingngBuilder.ToSsortingng(); } objSsortingngBuilder.AppendLine("

    " + msg + " START

    "); if (ds != null) { if (ds.Tables == null) { objSsortingngBuilder.AppendLine("ds.Tables == null "); return objSsortingngBuilder.ToSsortingng(); } foreach (System.Data.DataTable dt in ds.Tables) { if (dt == null) { objSsortingngBuilder.AppendLine("ds.Tables == null "); continue; } objSsortingngBuilder.AppendLine(""); //objSsortingngBuilder.AppendLine("================= My TableName is " + //dt.TableName + " ========================= START"); int colNumberInRow = 0; objSsortingngBuilder.Append(""); foreach (System.Data.DataColumn dc in dt.Columns) { if (dc == null) { objSsortingngBuilder.AppendLine("DataColumn is null "); continue; } objSsortingngBuilder.Append(" "); colNumberInRow++; } //eof foreach (DataColumn dc in dt.Columns) objSsortingngBuilder.Append(""); int rowNum = 0; foreach (System.Data.DataRow dr in dt.Rows) { objSsortingngBuilder.Append(""); int colNumber = 0; foreach (System.Data.DataColumn dc in dt.Columns) { objSsortingngBuilder.Append(" "); colNumber++; } //eof foreach (DataColumn dc in dt.Columns) rowNum++; objSsortingngBuilder.AppendLine(" "); } //eof foreach (DataRow dr in dt.Rows) objSsortingngBuilder.AppendLine("
    row number |" + colNumberInRow.ToSsortingng() + " | "); objSsortingngBuilder.Append( dc.ColumnName.ToSsortingng() + "
    row - | " + rowNum.ToSsortingng() + " | |" + colNumber + "|" ); objSsortingngBuilder.Append(dr[dc].ToSsortingng() + "
    "); objSsortingngBuilder.AppendLine("

    " + msg + " END

    "); } //eof foreach (DataTable dt in ds.Tables) } //eof if ds !=null else { objSsortingngBuilder.AppendLine("NULL DataSet object passed for debugging !!!"); } return objSsortingngBuilder.ToSsortingng(); }