Этот метод должен получить доступ к файлу базы данных и выполнить простой запрос:
private static DataTable QueryStuff(string connectionString, string[] types)
{
string queryTypes = "('" + string.Join("', '", types) + "')";
DataTable dtResults = new DataTable();
try
{
using (FbConnection myConnection1 = new FbConnection(connectionString))
{
myConnection1.Open();
FbTransaction fbTransaction = myConnection1.BeginTransaction();
FbCommand fbCommand = new FbCommand();
fbCommand = new FbCommand()
{
CommandText = "SELECT * FROM TABLE WHERE TYPE IN " + queryTypes + ";",
CommandType = CommandType.Text,
Connection = myConnection1,
Transaction = fbTransaction
};
FbDataReader dr = fbCommand.ExecuteReader();
dtResults.Load(dr);
dr.Close();
fbTransaction.Commit();
}
}
catch (Exception ex)
{
MessageBox.Show("Erro: " + ex.Message);
}
return dtResults;
}
После этого программа должна удалить файл базы данных, например:
if (File.Exists(filePath))
File.Delete(filePath);
За исключением , не может, поскольку файл используется «другим процессом».
Программа сама создала файл, и я уверен, что файл не используется ни в каком другом процессе.
Есть ли лучший способ избавиться от этого соединения?