PostgreSQL Client for Squeakの動きがよくわからない。。。

実は、2週間以上悩んでいたりします。。。
ORマッパー調べたりとかいろいろしましたが、結局クエリを書くことが多いので、
シンプルなものにいきついて、PostgreSQL Client Squeakを使うことにしました。

ほんとに情報がなくて、ソース読みまくったんですが、なかなか理解できず。。。
(TestPGConnectionとかかなりよんだんですが、機能網羅されてないような。。。)

以下の方を参考にいろいろ調査。
(ほんとに参考になりました。md5のモジュールが原因なことがわからず、最初接続すらできなかった。。。)
http://d.hatena.ne.jp/chobie/20080411/1207879042

同じように、モジュールはインストール済み。

パッケージローダで
PostgreSQL Client for Squeak
・Cryptography Team Package

をインストールしました。

sql := 'select * from public.sales'.
arg := PGConnectionArgs
	hostname: 'localhost'
	portno: 5432
	databaseName: 'sql_drill'
	userName: 'daisuke'
	password: '******'. "一応パスワード"

con := PGConnection new connectionArgs: arg.
con startup.
result := con execute: sql.
con terminate.

inspectでおぉー!!つながってると感動してから、同じコードを実行。

( result resultSets at: 1) rows do: [ :each | Transcript show: (each rawData at: 2); cr.].

おぉー動いている×2♪♪
と、ここまでは、先駆者の方がいらっしゃるので、そりゃそうだ。

でも、Dictionaryでかえってきてくれないので、名前アクセスができない。
ここから時間がかかってなんとか、Dictionaryでかえってきてくれる方法を探す。

data := result rows first dataKeyedByFieldName.

コードはっつけては探す日々でした。。。
よしよしとおもってでは、イテレータ使わずにループのお勉強と思ってからがさらに土つぼ。。。

data := result rows at:1 dataKeyedByFieldName.

だとMessageNotUnderstoodとエラーがかえってきます。
はて?

data := result rows at:1.
data := result rows first.

をinspectすると、まったく同じものにしか見えないんですが。。。
なにがおかしいんでしょうか?どなたかご教授ください!!m(_ _)m

1 to: result rows size do:[:index | result rows at: index dataKeyedByFieldName].

こんな感じでアクセスできるのかなぁーっとおもってるんですが。。。

他に、こんな方法があるよみたいなのもありましたら、お待ちしております。
なかなか初心者にはハードルが高い。。。( - -;)

勉強会に参加するレベルには到底達していない。。。
Smalltalk合同勉強会@名古屋に参加したいんだけどな。。。

せめて、DBアクセス関係が理解できるようになってから。。。