perl連接access數(shù)據(jù)庫之二
發(fā)表時(shí)間:2024-06-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]三. 這時(shí)候,數(shù)據(jù)庫已經(jīng)可以用了,我們來測試一下: #!/usr/bin/perl use Win32::ODBC; $DSN = "MS Access 97 Database"; $DBase = "access.mdb"; #連接數(shù)據(jù)庫 if (!($d...
三. 這時(shí)候,數(shù)據(jù)庫已經(jīng)可以用了,我們來測試一下:
#!/usr/bin/perl
use Win32::ODBC;
$DSN = "MS Access 97 Database";
$DBase = "access.mdb";
#連接數(shù)據(jù)庫
if (!($db = new Win32::ODBC($DSN))){
print "連接數(shù)據(jù)庫失敗.n";
exit();
}
else{
print "連接數(shù)據(jù)庫成功 (連接號:", $db->Connection(), ")nn";
}
#數(shù)據(jù)庫中的表
print "數(shù)據(jù)庫中的表:";
@tables = $db->TableList;
print @tables;
print "n";
#選擇數(shù)據(jù)表
if (! $db->Sql("SELECT * FROM [address] WHERE age>=20") ){
@FieldNames = $db->FieldNames();
$Cols = $#FieldNames + 1;
#表中字段數(shù)
print "表address字段數(shù):$Colsn";
#字段列表
for ($i = 0; $i < $Cols; $i++){
print "$FieldNames[$i]t";
}
print "n";
#列出年齡大于20的記錄
while($db->FetchRow()) {
@values = $db->Data();
print @values;
print "n";
}
}
##### sql #########
#添加記錄
$sqlinsert = "INSERT INTO address VALUES ('Euler', 'euler@21cn.com', 28, '021-345689')";
#更新記錄
$sqlupdate = "UPDATE address SET age = age+10 ";
#刪除記錄
$sqldelete = "DELETE FROM address WHERE name='jimtyan'";
$rc = $db->Sql($sqlinsert);
die qq(SQL 失敗 "$sqlinsert": ), $db->Error(), qq(n) if $rc;
$rc = $db->Sql($sqlupdate);
die qq(SQL 失敗 "$sqlupdate": ), $db->Error(), qq(n) if $rc;
$rc = $db->Sql($sqldelete);
die qq(SQL 失敗 "$sqldelete": ), $db->Error(), qq(n) if $rc;
#關(guān)閉鏈接
$db->Close();