public static boolean putMediaItem(MediaItem mediaItem) {
	boolean toReturn = false;
	if (connection != null) {
	    PreparedStatement updateMediaItem = null;
	    PreparedStatement insertMediaItem = null;
	    Statement selectRowid = null;
	    ResultSet selectRowidRS = null;
	    try {
		if (mediaItem.getId() > 0) {
		    updateMediaItem = connection.prepareStatement("UPDATE " + TBLMEDIAITEM
			    + " SET profileId=?, parentId=?, name=?, description=?, filePath=? WHERE id=?;");
		    updateMediaItem.setObject(1, mediaItem.getProfileId(), java.sql.Types.INTEGER);
		    updateMediaItem.setObject(2, mediaItem.getParentId(), java.sql.Types.INTEGER);
		    updateMediaItem.setObject(3, mediaItem.getName(), java.sql.Types.VARCHAR);
		    updateMediaItem.setObject(4, mediaItem.getDescription(), java.sql.Types.VARCHAR);
		    updateMediaItem.setObject(5, mediaItem.getFilePath(), java.sql.Types.VARCHAR);
		    updateMediaItem.setObject(6, mediaItem.getId(), java.sql.Types.INTEGER);
		    updateMediaItem.executeUpdate();
		    updateMediaItem.close();
		} else {
		    insertMediaItem = connection.prepareStatement("INSERT OR IGNORE INTO " + TBLMEDIAITEM
			    + " (id,profileId,parentId,name,description,filePath) VALUES (?,?,?,?,?,?);");
		    insertMediaItem.setNull(1, java.sql.Types.INTEGER);
		    insertMediaItem.setObject(2, mediaItem.getProfileId(), java.sql.Types.INTEGER);
		    insertMediaItem.setObject(3, mediaItem.getParentId(), java.sql.Types.INTEGER);
		    insertMediaItem.setObject(4, mediaItem.getName(), java.sql.Types.VARCHAR);
		    insertMediaItem.setObject(5, mediaItem.getDescription(), java.sql.Types.VARCHAR);
		    insertMediaItem.setObject(6, mediaItem.getFilePath(), java.sql.Types.VARCHAR);
		    insertMediaItem.executeUpdate();
		    insertMediaItem.close();

		    selectRowid = connection.createStatement();
		    selectRowidRS = selectRowid.executeQuery("SELECT last_insert_rowid();");
		    mediaItem.setId(selectRowidRS.getInt(1));
		    selectRowidRS.close();
		    selectRowid.close();
		}
		toReturn = true;
	    } catch (SQLException e) {
		e.printStackTrace();
	    } finally {
		try {
		    if (selectRowidRS != null)
			selectRowidRS.close();
		    if (selectRowid != null)
			selectRowid.close();
		    if (insertMediaItem != null)
			insertMediaItem.close();
		    if (updateMediaItem != null)
			updateMediaItem.close();
		} catch (SQLException e) {
		    e.printStackTrace();
		}
	    }
	}
	return toReturn;
    }