--- convert.pl 2001/06/12 12:07:37 1.3 +++ convert.pl 2001/06/19 08:54:02 1.4 @@ -45,7 +45,7 @@ # $dt = "NULL"; $dt = undef; } - return $pgdbh->quote($dt); + return $dt; } sub ConvertBool { @@ -60,13 +60,14 @@ $str =~ s/[\x00-\x1F]+//gs; $str =~ s/\s*\x8D?\s*\r?\s*\n\s*/\n/gs; $str =~ s/(^\s+|\s+$)//gs; - $str =~ s/(^"|"$)//g; + $str =~ s/(^["']|["']$)//g; # char recoding #$str =~ s/đ/ð/g; #$str =~ s/č/è/g; #$str =~ s/ý/¾/g; $str =~ tr/{|`~}[\\@^]/¹ð¾èæ©Ð®ÈÆ/; - return $pgdbh->quote($str); +# return $pgdbh->quote($str); + return $str; } sub Progress { @@ -81,12 +82,13 @@ } sub CondInsert { - my ($table, $name, $key, $fields, $values) = @_; + my ($table, $name, $key, @fields, @values) = @_; my $sql = "SELECT $name FROM $table WHERE ($name = $key)"; my $cnt = $pgdbh->do($sql); return 0 if ($cnt > 0); - $sql = "INSERT INTO $table $fields VALUES $values"; - my $ret = $pgdbh->do($sql); + $sql = "INSERT INTO $table (".join(",",@fields).") VALUES (".'?'.$#values.")"; + my $sth = $pgdbh->prepare("INSERT INTO $table (".join(",",@fields).") VALUES (".'?'.$#values.")"); + my $ret = $sth->execute(@values); my $err = $pgdbh->errstr; print &Log("[$sql] ".$err) if ($err); return $ret;