私はこの問題の解決策を数日間探していましたが、まだ解決策を見つけていません。私はC#でおもちゃのオーディオプレーヤーを構築していて、コンピューター上のすべての音楽ファイルの小さなAccessデータベースを持っています。このデータベースをDataTableにインポートしてからにインポートすると、次のDataGridView
ような正方形の文字が表示されます(ここに画像を投稿できないため、ここにリンクがあります)。
私の知る限り、これらの文字はデータベースに存在しません。メソッドを試すように言われました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();
}
なぜこれが起こっているのか誰かが何か考えを持っていますか?ある種の文字セット設定か何かだといいのですが、とについてはあまり詳しくありませDataTables
んDataGridView
。