Вам не нужна транзакция, попробуйте следующее:
DataTable data = new DataTable();
using (SQLiteConnection conn = new SQLiteConnection("Data Source=local.db;Version=3;New=False;Compress=True;"))
using (SQLiteCommand mycommand = new SQLiteCommand(conn))
{
mycommand.CommandText = "SELECT * FROM TAGTABLE WHERE TAG = @tag;";
mycommand.Parameters.AddWithValue("@tag", tag);
conn.Open();
using (SQLiteDataReader reader = mycommand.ExecuteReader())
{
data.Load(reader);
}
}
return data;
Наиболее вероятная причина, по которой это ничего не даст, в том, что SELECT
не дает никаких результатов.
Также обратите внимание, что все, что реализует интерфейс IDisposable
, может использоваться вместе с оператором using
, поэтому ручное закрытие / удаление объектов впоследствии не требуется.
Обратите внимание, что SQL изменился для использования параметризованного запроса, это поможет снизить вероятность атак с использованием SQL-инъекций и, как правило, более понятен.