データ レコードを取得して監視ツールに表示するために、Excel ファイルにクエリを実行しています。問題は、次のリクエストで ID を使用してレコードを選択しようとすると、クエリの実行時にエラーがスローされることです。
ExecuteCommandTextErrorHandling
クエリの型とターゲット セルに互換性がないことを教えてくれます。
私のリクエストは次のようになります
SELECT TOP 20 [Fields...]
FROM [RECORD$]
WHERE (([id] = '1'))
id 列には数字以上のものを含めることができるため、そのセル タイプは標準のデフォルト タイプです。
私の質問は次のとおりです。以前にそのタイプを知らずにレコードを取得するにはどうすればよいですか?
列の型を強制する必要がありますか? 例外をキャッチして、引用符なしで再試行する必要がありますか?
Excelファイルと私の接続文字列を照会するために使用されるコードは次のとおりです
public static DataTable queryXlsFile(String query, OleDbConnection dbConnection)
{
OleDbDataAdapter dbCommand = new OleDbDataAdapter(query, dbConnection);
DataTable dt = new DataTable();
dbCommand.Fill(dt);
return dt;
}
Provider=Microsoft.ACE.OLEDB.12.0; data source=C:\\test\\321.xls; Extended Properties=\"Excel 8.0;HDR=Yes;\";
前もって感謝します。