1

私はこの問題の解決策を数日間探していましたが、まだ解決策を見つけていません。私はC#でおもちゃのオーディオプレーヤーを構築していて、コンピューター上のすべての音楽ファイルの小さなAccessデータベースを持っています。このデータベースをDataTableにインポートしてからにインポートすると、次のDataGridViewような正方形の文字が表示されます(ここに画像を投稿できないため、ここにリンクがあります)。

http://imgur.com/4UwJSxE

私の知る限り、これらの文字はデータベースに存在しません。メソッドを試すように言われましたToString().Trim()が、SQLを使用してDataTableを構築しているため、方法がわかりません。

コードは次のとおりです。

public static DataTable GetLibraryDataTable()
    {
        OleDbConnection cnx = bTunesDB.GetConnection();
        cnx.Open();
        OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT Artist, Title, Album, ReleaseYear, Genre, PlayCount, TrackOrderInAlbum, AlbumOrderInArtist, FilePath FROM Tracks ORDER BY Artist, AlbumOrderInArtist, TrackOrderInAlbum", cnx);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        return dt;
    }

次に、datagridviewに入力します。

LibraryDataView.DataSource = bTunesDB.GetLibraryDataTable();

このコードを使用してDataTable値をトリミングしようとしましたが、問題が解決しません。

var dataRows = dt.AsEnumerable();
foreach (var row in dataRows)
{
      var cellList = row.ItemArray.ToList();
      row.ItemArray = cellList.Select(x => x.ToString().Trim(null)).ToArray();
}

なぜこれが起こっているのか誰かが何か考えを持っていますか?ある種の文字セット設定か何かだといいのですが、とについてはあまり詳しくありませDataTablesDataGridView

4

0 に答える 0