-PR-
解決
済み

PerlでDBIを使いますが、結果セットをフィールド名でアクセスするには?

  • 暇なときにでも
  • 質問No.630133
  • 閲覧数430
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 1% (12/798)

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
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル10

ベストアンサー率 66% (80/121)

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をご覧ください。
#サンプルが少なくてちょっと分かりにくいですが。
お礼コメント
kounesi

お礼率 1% (12/798)

参考になりました。
投稿日時 - 2003-09-15 09:15:47
-PR-
-PR-
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ