In article <000001c1b6e3$01433e20$62a3933e@w3w6d9> wrote "Mb" <[EMAIL PROTECTED]>:

> Sure  i m the only one doing perl in the week-end, the mailinglist is deserted.

:-)

> 
> I' m tryig to generate dynamic SQL statements.
> I have a problem on  getting a WHERE over 'varchar' type fields.

I don't understand your source code really.

1. @where[$i] is an unfamous style of writing.
You surely meant $where[$i] or @{$where[$i]}

2. Don't give your variables names like $string., $stringW
It's important what your string stands for.

3. use strict; 
   use warnings;

4. initialize your variables ($string, $stringW).

> 
> for ($i =0; $i<scalar(@where); $i+=2){
>      #pour une entree a la table de hash avec en sortie un ensemble de atts #on en 
>selectionne un
>      aleatoirement sur le quel portera le where @tabAttrs = @{$hash{@where[$i]}}; my 
>$indice = 
>      int(rand(@tabAttrs));
>      if($i != scalar(@where)-2){
>   $string .= @where[$i].' = '.@where[$i+1].' and ';
>   $stringW .= @tabAttrs[$indice].' like '.@where[$i+1].' and ';
>      }else{
>   $string .= @where[$i].' = '.@where[$i+1];
>   $stringW .= @tabAttrs[$indice].' like '.@where[$i+1];
>      }
>  }
> 

> suppose @where[$i+1]      == mars          -> I want to get   'mars'.
> 
> "select DE_Intitule, @select from F_Depot  $stringW" ------------> that is my SQL 
>statement
> 
> And i m gtting the error bellow :
> 
> select DE_Intitule, from F_Depot where DE_Contact like mars and DE_Ville like mars 
>and DE_Contact
> like rueOLE exception from "Microsoft OLE DB Provider for ODBC Drivers": 
>[Simba][Simba ODBC
> Driver]Syntax Error. Win32::OLE(0.1502) error 0x80040e14 in METHOD/PROPERTYGET 
>"Execute"

IIRC the upon sql-statement should be like:
SELECT DE_Intitule                     
FROM F_Depot                            # no , before the from
WHERE DE_Contact like 'mars' and        # what a column should like must be in quotes
      DE_Ville like 'mars' and          # a xyz like 'string' statement isn't useful
      DE_Contact like 'rueOLE'          # use an = instead - it's quicker
                                        # How can DE_Contact be like 'mars' and like 
'rueOLE'
  

> 
> thanks for any help.
> and have a nice week-end ;-)

A good shot would be,
if you simply describe what the above code shall do.
TMTWTDI and I believe you choosed a complicated one.

Best Wishes,
Andrea


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to