Что меня смущает в вашем коде, так это способ создания ConnectionString. Я бы сделал это так:
string databaseFile = "test.dat";
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Temp\" + databaseFile +";Extended Properties=dBase III";
При настройке имени файла в части пути к источнику данных у меня никогда не возникало проблем ни с каким типом файла / расширением, независимо от того, что это такое.
Что касается вашего оператора SELECT, «SELECT * FROM Test» выбирает все данные из таблицы с именем «Test» в вашей базе данных, а не из вашего файла с именем «Test».
Я не работал с файлами dBase, но я предполагаю, что происходит то, что ваш источник данных достаточен для C #, чтобы определить, какой файл вы хотите использовать, используя расширение dBase по умолчанию, и он падает при заполнении адаптера данных, Вы не используете расширение по умолчанию. Попробуйте добавить конкретное имя файла и посмотрите, работает ли оно.