public long insert(String name, String _abstract) {
        if (Config.LOGD) Log.d(TAG, "insert name=" + name + " _abstract=" + _abstract);

        PreparedStatement statement = null;
        try {
            statement = mConnection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS);
            statement.setString(1, name);
            statement.setString(2, _abstract);

            int rows = statement.executeUpdate();
            if (Config.LOGD) Log.d(TAG, "insert rows=" + rows);

            ResultSet resultSet = statement.getGeneratedKeys();
            if (resultSet.next()) {
                long res = resultSet.getLong(1);
                if (Config.LOGD) Log.d(TAG, "insert res=" + res);
                return res;
            }
        } catch (SQLException e) {
            Log.e(TAG, "insert Could not insert", e);
        } finally {
            if (statement != null) try {
                statement.close();
            } catch (SQLException e) {
                Log.w(TAG, "insert", e);
            }
        }
        return -1;
    }