総ありがとう数 累計4,283万(2014年10月23日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
kounesi

OSはWindowsでAccess2002のデータベースをODBC経由でDBIを用いて、Perlからアクセスします。
以下のように、結果セットをフィールド名でアクセスしたいです。
可能でしょうか?


#!/perl/bin/perl
#!/usr/bin/perl -w

use DBI;

# create the DSN connection
$dsn = "dbi:odbc:test";
$dbh = DBI->connect($dsn) or die "接続エラー";

$query = "select * from goods;";

# execute the query
$sth = $dbh->prepare($query);
$sth->execute();

print "no name price\n";
print "--------------------------------------\n";
while(@item = $sth-> fetchrow) {
#print "@item[0] @item[1] @item[2]"; #----- 通常はこうだが、
print "$item{'goods_name'} $item{'goods_price'} $item{'auto_no'}"; #----こんな感じで利用したい。
print ("\n");
}

# disconnect
$sth->finish();
$dbh->disconnect();

exit;

__END__
  • 回答数1
  • 気になる数0

Aみんなの回答(全1件)

質問者が選んだベストアンサー

  • 2003-08-21 03:54:08
  • 回答No.1
my @names{@{$sth->{'NAME_lc'}}} = (0..scalar @{$sth->{'NAME_lc'}});
while (my $aref = $sth->fetchrow_arrayref ()) {
$aref->[$names{'hogehoge'}],$aref->[$names{'hugahuga'}];
}
とか
while (my $href = $sth->fetchrow_hashref ()) {
$href->{'hogehoge'},$href->{'hugahuga'};
}
見たいな感じでアクセスします。

詳しくは参考URLをご覧ください。
#サンプルが少なくてちょっと分かりにくいですが。
お礼コメント
参考になりました。
投稿日時 - 2003-09-15 09:15:47
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数1
  • 気になる数0
  • ありがとう数0
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

その他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ