Perl


  DBD + MySQL ( バッチ )



通常配列
  
# **********************************************************
# オブジェクト使用宣言
# **********************************************************
use DBI;

# **********************************************************
# 接続
# **********************************************************
$dsn = "DBI:mysql:lightbox:localhost";
$ret = eval{ $dbh = DBI->connect($dsn, 'root', '') };
if ( !$ret ) {
	print "接続エラーが発生しました";
	exit();
}

# **********************************************************
# レコードセット取得
# **********************************************************
$Query = "select * from `社員マスタ`";
$sth = $dbh->prepare( $Query );
$ret = eval{ $sth->execute };
if ( !$ret ) {
	print $dbh->{'mysql_error'};
	$sth->finish;
	$dbh->disconnect;
	exit();
}

# **********************************************************
# 出力ファイルオープン
# **********************************************************
open( CSV_FILE,">./社員マスタ.csv" );

# **********************************************************
# タイトル出力
# **********************************************************
$Buffer = "";
$num = $sth->{'NUM_OF_FIELDS'};
$names = $sth->{'NAME'};
for ($i = 0;  $i < $num;  $i++) {
	if ( $Buffer ne "" ) {
		$Buffer .= ",";
	}
	$Buffer .= $$names[$i];
}
print CSV_FILE "$Buffer\n";

# **********************************************************
# データ出力
# **********************************************************
while ($row = $sth->fetchrow_arrayref) {
	$Buffer = "";
	for ($i = 0;  $i < $num;  $i++) {
		if ( $Buffer ne "" ) {
			$Buffer .= ",";
		}
		$Buffer .= $row->[$i];
	}
	print CSV_FILE "$Buffer\n";
}

# **********************************************************
# ファイルクローズ
# **********************************************************
close( CSV_FILE );

# **********************************************************
# 接続解除
# **********************************************************
$dbh->disconnect;
  

連想配列
  
# **********************************************************
# オブジェクト使用宣言
# **********************************************************
use DBI;

# **********************************************************
# 接続
# **********************************************************
$dsn = "DBI:mysql:lightbox:localhost";
$ret = eval{ $dbh = DBI->connect($dsn, 'root', '') };
if ( !$ret ) {
	print "接続エラーが発生しました";
	exit();
}

# **********************************************************
# レコードセット取得
# **********************************************************
$Query = "select * from `社員マスタ`";
$sth = $dbh->prepare( $Query );
$ret = eval{ $sth->execute };
if ( !$ret ) {
	print $dbh->{'mysql_error'};
	$sth->finish;
	$dbh->disconnect;
	exit();
}

# **********************************************************
# 出力ファイルオープン
# **********************************************************
open( CSV_FILE,">./社員マスタ.csv" );

# **********************************************************
# タイトル出力
# **********************************************************
$Buffer = "";
$num = $sth->{'NUM_OF_FIELDS'};
$names = $sth->{'NAME'};
for ($i = 0;  $i < $num;  $i++) {
	if ( $Buffer ne "" ) {
		$Buffer .= ",";
	}
	$Buffer .= $$names[$i];
}
print CSV_FILE "$Buffer\n";

# **********************************************************
# データ出力
# **********************************************************
while ($row = $sth->fetchrow_hashref()) {
	$Buffer = "";
	for ($i = 0;  $i < $num;  $i++) {
		if ( $Buffer ne "" ) {
			$Buffer .= ",";
		}
		$Buffer .= $row->{$$names[$i]};
	}
	print CSV_FILE "$Buffer\n";
}

# **********************************************************
# ファイルクローズ
# **********************************************************
close( CSV_FILE );

# **********************************************************
# 接続解除
# **********************************************************
$dbh->disconnect;
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ