IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SGBD Perl Discussion :

variable dans requête sql


Sujet :

SGBD Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut variable dans requête sql
    Bonjour,

    j'éssaye de faire un script qui va récupérer des champs dans une base de donnée sur as400.

    voila mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    #!/usr/bin/perl -w
     
    #perl
     
    use DBI;
     
    use POSIX qw(strftime);
     
    use Net::FTP;
     
    use Net::SMTP;
     
    #use Win32::OLE;
     
     
     
    # Lecture de la configuration
     
    my $fic = uc($ARGV[0]);
    #print "$fic \n\n";
     
    sub check_fic
     
    {
     
    	# Connnexion aux BD
     
    my $dbh_as = DBI->connect('dbi:ODBC:MINOS','USER','PASS');
     
     
     
       # REQUETE PERMETTANT DE RECUPERER LE FICHIER PRT02P10 DE LA BIBLIO FTPOUT
     
     
     
    my $sth_as = $dbh_as->prepare(
     
    q[SELECT].
     
    q[ LOGEXPMIN.JOBEXPLOIT.APPLICATIF AS APP, LOGEXPMIN.JOBEXPLOIT.DATEMAJ AS DATE,].
     
    q[ LOGEXPMIN.JOBEXPLOIT.ENREG AS NBLIGNE].
     
    q[ FROM LOGEXPMIN.JOBEXPLOIT].
     
    q[ WHERE].
     
    q[ LOGEXPMIN.JOBEXPLOIT.APPLICATIF = '$fic' ]
     
    );
     
    $sth_as->execute;
     
    my $appli;
     
    my $nblignes;
     
    my $date;
     
     
     
    while (my $hash = $sth_as->fetchrow_hashref) {
     
    	$appli = ${$hash}{'APP'};
     
    	$appli =~ s/\s+$//;
     
    	$nblignes = ${$hash}{'NBLIGNE'};
     
    	$nblignes =~ s/\s+$//;	
     
    	$date = ${$hash}{'DATE'};
     
    	$date =~ s/\s+$//;	
     
    }	
     
    	print "$date$nblignes";
     
    $dbh_as->disconnect();
     
    }
     
    check_fic();
    dans la condition de ma requête sql, si je met :
    q[ WHERE].

    q[ LOGEXPMIN.JOBEXPLOIT.APPLICATIF = 'PRT02P10' ] j'ai bien l'information que je veux.

    Mais je voudrais utiliser ce script en utilisant un paramètre, donc je voudrais mettre la variable $fic dans ma condition mais lors de l'execution j'obtiens l'erreur:

    Use of uninitialized value $date in concatenation (.) or string at ./as400.pl line 52.
    Use of uninitialized value $nblignes in concatenation (.) or string at ./as400.pl line 52.

    comment je dois faire?
    est-ce possible de le faire?

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    Le message est pourtant claire. Tu utilises une variable dans une concatenation qui n'a pas été initialisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #Initialisation de tes variables
    #tu peux mettre autre chose, il faut juste que tu fasses une affectation
    my $nblignes = 0;
    my $date = '';
    Linux because rebooting is just for adding medias

Discussions similaires

  1. Variable dans requète sql
    Par vangru.o dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/04/2009, 20h21
  2. Inclure une variable dans requête SQL
    Par Mvu dans le forum Visual Studio
    Réponses: 2
    Dernier message: 04/07/2008, 09h13
  3. Problème Variable dans requête SQL
    Par maxime350 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 10/04/2008, 20h55
  4. register_global à on et variables dans requêtes SQL
    Par JackBeauregard dans le forum Langage
    Réponses: 4
    Dernier message: 14/09/2006, 16h00
  5. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo