C # SQLite, Datenbank bleibt nach einem Lesevorgang gesperrt

Ich habe einige verwandte Beiträge dazu gelesen und nicht ganz verstanden. Es scheint, dass nach diesem Zugriff auf die Datenbank die Datenbank gesperrt bleibt, damit sie gelesen, aber nicht beschrieben werden kann. Nach dem Beenden der Anwendung wird die Datenbank wieder entsperrt. Kannst du es dir ansehen und mit mir reden, als wäre ich unwissend, und auf den Fehler hinweisen, wie ich damit umgehe?

 public static Partner GetOnePartner(string code)
 {
    Partner partner = new Partner();
    SQLiteConnection connection = GroomwatchDB.GetConnection();
    string sqlStatement = "SELECT * FROM partners WHERE partner_code = @partner_code";

    SQLiteCommand command = new SQLiteCommand(sqlStatement, connection);
    command.Parameters.Add(new SQLiteParameter("@partner_code"));
    command.Parameters["@partner_code"].Value = code;

    try
    {
        connection.Open();
        SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow);
        if(reader.Read())
        {
            partner.Code = reader["partner_code"].ToString();
            partner.Last_name = reader["last_name"].ToString();
            partner.First_name = reader["first_name"].ToString();
            partner.Pay_rate = (double)reader["pay_rate"];
            partner.Active = reader["active"].ToString();
        }
        else
        {
            partner.Code = code;
            partner.Last_name = "Not Found";
        }

    }
    catch (SQLiteException ex)
    {
       throw ex;
    }
    finally
    {
        connection.Close();
    }

    return partner;

} 

Antworten auf die Frage(2)

Ihre Antwort auf die Frage