win32:ODBC问题求助!

win32:ODBC问题求助!

win32:ODBC问题求助!
目的:使用ODBC连接Access数据库,提取一个表中的每一条记录的一个字段,根据这个字段提取远程数据库中的信息,再把这个信息写回表中。

问题:当使用SQLUPDATE进行更新一条记录后,FetchRow不能再取下一条记录进行循环,执行完成第一条记录就退出了。

救助各大侠,看看怎么回事?

以下为程序的全代码:
use Win32::ODBC;
use Bio::DB::GenBank;
use Bio::SeqIO;

my $database = new Bio::DB::GenBank;

$DSN = "MS Access Database";
$DBase = "odbctest.mdb";


if (!($db = new Win32::ODBC($DSN))){
print "连接数据库失败.\n";
exit();
}


if (! $db->Sql("SELECT * FROM test") ){

while($db->FetchRow()) {
my ($aa) = $db->Data("Genbank");
my $seq = $database->get_Seq_by_id($db->Data("Genbank"));


$seqcds= $seq->desc();[b]
$sqlupdate= "update test set newid='$seqcds' where Genbank='$aa'" ;

$rc = $db->Sql($sqlupdate);
die qq(SQL 失败 "$sqlupdate": ), $db->Error(), qq(\n) if $rc;
[/b]}

}

$db->Close();
这个帖子 chinaunix 有人回答了,大家不要费精力了。 发贴的请注意不要[b]同时[/b]在不同地方问问题。