[SP-pm] descubrir o tipo da variavel
Lucas Moraes
mineiro at live.be
Tue Jul 13 11:57:06 PDT 2010
Oi Gente, Terminei o que eu queria e para mim foi um sucesso, segue o modulo abaixo:
package Dados;
use strict;
use warnings;
use DBI;
use boolean ':all';
use Tie::IxHash;
use Scalar::Quote ':short';
sub new {
my $platform = "mysql";
my $database = "perl";
my $host = "localhost";
my $port = "3306";
my $user = "root";
my $pass = "";
my $dsn = "dbi:$platform:$database:$host:$port";
my $connect = DBI->connect($dsn, $user, $pass);
my $this = shift;
my $class = ref($this) || $this;
my $dados = {
conn => $connect,
tabela => shift
};
bless($dados);
return $dados;
}
sub Inserir {
my $this = shift;
my %dados = @_;
tie my %campos, "Tie::IxHash";
while(my($indece, $valor) = each(%dados)){
if(isBoolean($valor)){
$campos{$indece} = $valor ? 'TRUE' : 'FALSE';
}elsif($valor =~ /[ a-zA-Z*.+()"':_=-]+/){
$valor = S($valor);
$campos{$indece} = "$valor";
}else{
$campos{$indece} = "NULL";
}
}
my @indices = join(', ', keys(%campos));
my @valores = join(', ', values(%campos));
my $sql = "INSERT INTO $this->{tabela} (";
$sql .= " @indices )";
$sql .= " VALUES (@valores)";
my $query = $this->{conn};
my $valor = $query->prepare($sql);
$valor->execute();
print $sql;
}
1;
um exemplo:
#!perl
use CGI::Carp qw(fatalsToBrowser);
use strict;
use warnings;
use Dados;
use Tie::IxHash;
print "Content-type: text/html\n\n";
my $query = Dados->new('NomeDaTabela');
tie my %carro, "Tie::IxHash";
%insert = (
Campo1 => 'Moraes',
Campo2 => 'mineiro em live.be',
Campo3 => 'Lucas'
);
$query->Inserir(%insert);
Obrigado a todos!
Deus é o limite!
_________________________________________________________________
Hotmail: gratis krachtige e-mail met beveiliging van Microsoft.
https://signup.live.com/signup.aspx?id=60969
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100713/bb388149/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list