Hi,
I canīt make an update to a MS Access dabase using DBI.pm
The code i'm using is similar to the one that follows:
#!/usr/bin/perl use strict; use warnings; use Cwd; use DBI; my ($dsn, $dbh, $sth); my %proyeccionPIB; my $curDir = cwd(); my $dbName = $curDir . "/cargasInterurbanas.mdb"; $dsn = "dbi:ODBC:" . "DRIVER={Microsoft Access Driver (*.mdb)};" . "DBQ=" . $dbName . ";" . "PWD=;" ; $dbh = DBI-> connect($dsn, undef, undef, {PrintError => 1, RaiseError +=>1}) or die "Can't open database ($DBI::errstr)"; $dbh->{RaiseError} = 1; my $sql = "SELECT Ano, crecimientoPIB FROM PIB;"; $sth = $dbh->prepare ($sql); $sth->execute (); print "ProyeccionPIB\n"; while (my @row = $sth->fetchrow_array) { $proyeccionPIB{$row[0]} = $row[1]; printf ("\t%s\t%5.3f\n", $row[0], $proyeccionPIB{$row[0]}); } $sql = "UPDATE PIB SET crecimientoPIB = 0.045 WHERE Ano = 2013"; $sth = $dbh->prepare ($sql) or die->errstr;; $sth->execute (); DBI::dump_results($sth);
When I run this code, it tell that "0 rows" are updated
the definition of the PIB table is:
Ano type Number crecimientoPIB type number
If I do the same update directly into MS Access it works fine
What I'm doing wrong?
Thanks in advance,
memo
In reply to update access dabase usin DBI by memo.garciasir
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |