День добрый с толкнулся с одной проблемой.
Пишу программу на c# работающая с firebird 3.0 написал сделал релиз приложения запускаю его и появляется ошибка
"This transaction has completed and it is no longer usable " после токо как попытался определить от куда ошибка получил что ошибка в ошибка в в первом ExecuteReader который выполняется
то есть при первом ExecuteReader который выполняется ( не важно вызову я авторизацию или шифрование или что либо еще, ошибка будет в любом методе который выполняется первым )
сейчас когда убрал все лишнее постоянной ошибкой является
"invalid transaction handle (expecting explicit transaction start)"
Через debug эта ошибка не появляется все работает стабильно, но если запускаю reliz ошибка.
если продолжить то дальнейшие методы выполняются.
Вызываю ХП
ConnectDB CDB = new ConnectDB();
FbConnection con = new FbConnection();
con = CDB.fb;
FbTransaction fbt = con.BeginTransaction();
FbCommand SelectSQL = new FbCommand("SELECT * FROM USERS(@log,@pass,@roles)", con,fbt);
SelectSQL.Parameters.AddWithValue("log", login);
SelectSQL.Parameters.AddWithValue("pass", PassHash);
SelectSQL.Parameters.AddWithValue("roles", 0);
FbDataReader fbReader = SelectSQL.ExecuteReader();
try
{
while (fbReader.Read())
{
id = (fbReader["ID"] != DBNull.Value) ? Convert.ToInt32(fbReader["ID"]) : -1;
Fio = (fbReader["F"] != "") ? fbReader["F"].ToString() : "";
roles = (fbReader["R"] != "") ? Convert.ToInt32(fbReader["R"].ToString()) : -1;
}
fbt.Commit();
}
catch (Exception ex)
{
fbt.Rollback();
}
finally
{
fbReader.Close();
con.Close();
}
SelectSQL.Dispose();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей