Selecionando de um banco de dados
Como qualquer biblioteca bem desenvolvida, como também nas 
próprias funções do PHP, existem vários caminhos para chegar 
aos resultados, dependendo do que você planeja, este é um 
caminho:
<?
$sql = "SELECT nome, idade FROM funcionarios";
$rs = &$db -> Execute($sql);
if (!$rs) {
    print $db ->ErrorMsg(); //Mostra a mensagem de erro se nehum resultado for retornado
} //endif
else {
    while (!rs -> EOF) {
        print $rs -> fields[0].' '.$rs -> fields[1].'<BR>';
        //fields[0] é o nome, fields[1] é a idade
        $rs -> MoveNext(); //move para a proxima linha
    } //endwhile
} //endelse
?>
Neste exemplo, "$rs -> fields" é um array contendo os valores 
retornados. O índice do Array é numérico por padrão, mas se você 
quiser pode criar um array associativo para especificar por nome, 
bastando especificar o modo antes da query, por exemplo:
<?
$sql = "SELECT nome, idade FROM funcionarios";
$rs = &$db -> Execute($sql);
if (!$rs) {
    print $db ->ErrorMsg(); //Mostra a mensagem de erro se nehum resultado for retornado
} //endif
else {
    while (!rs -> EOF) {
        print $rs -> fields['nome'].' '.$rs -> fields['idade'].'<BR>';
        //fields[0] é o nome, fields[1] é a idade
        $rs -> MoveNext(); //move para a proxima linha
    } //endwhile
} //endelse
?>
Uma alternativa para navegar entre os resultados é retornar cada 
linha como um objeto. ADODB tem uma função chamada 
FetchNextObject(), ela automaticamente se move para a próxima linha.
<?
$sql = "SELECT nome, idade FROM funcionarios";
$db -> SetFetchMode(ADODB_FETCH_ASSOC); //retornar array associativo
$rs = &$db -> Execute($sql);
if (!$rs) {
    print $db ->ErrorMsg(); //Mostra a mensagem de erro se nehum resultado for retornado
}//endif
//loop através dos resultados
while ($row = $rs -> FetchNextObject()) {
    //o nome do campo precisa ser em maiúsculas
    print $row -> NOME.'  '.IDADE.'<BR>';
}//endwhile
?>
Inserindo e atualizando registros
A inserção básica é rápida e fácil, assim como quando se 
está selecionando:
$sql = "INSERT INTO funcionarios (nome,idade) VALUES ('Pedro César','25')";
if (!($db -> Execute($sql))) {
    print 'Erro inserindo:'.$db -> ErrorMsg().'<BR>';
}
A vantagem real de usar a biblioteca nesse caso é permitir que 
você possa inserir os dados em bancos diferentes com a mesma 
sintaxe, o que normalmente seria impossível, vejam duas situações 
comuns de ocorrer:
1°) Todas as cotas precisam ter uma saída no caso de erro de 
sintaxe, mas alguns bancos inserem uma cota simples, outros duas 
cotas simples, assim ao invés de usar uma função do PHP como 
addslashes(), com muitos modos de ser usada, você pode 
usar a qstr() da ADODB para pegar uma string e retorná-la 
corretamente formatada para usar no banco de sua preferência.
2°) Em relação as datas, muitos bancos aceitam muitos e 
incompatíveis formatos. ADODB tem uma função chamada DBDate(), 
que aceita datas em vários Unix Time Stamps ou o 
formato ISO(Y-M-d) e converte para qualquer formato, de acordo 
com seu banco. O exemplo seguinte mostra essas duas funções em ação:
$employee_surname = $db->qstr("d'Angelo");
$arrival_tim = $db-> DBDate(time());
$sql = "INSERT INTO employee_arrival(arrival_time,surname) VALUES ($arrival_time,$employee_surname)";
if (!($db->execute($sql))) {
    print "Erro inserindo:".$db->ErrorMsg()."<br>";
}
Você atualiza exatamente pelo mesmo caminho, por exemplo:
$sql = "UPDATE employees SET idade='44' WHERE id='121'";
if (!($db->execute($sql))) {
    print "Erro Atualizando:".$db->ErrorMsg()."<br>";
}
Sugiro para quem quer se aprofundar no assunto ir até 
http://php.weblogs.com, pois lá 
tem muita informação valiosa.