Thread Dynamisches Binden bei DBI (15 answers)
Opened by renee at 2005-09-13 12:32

renee
 2005-09-13 12:32
#33525 #33525
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kann ich bind_param() dynamisch (abhängig vom Datentyp) verwenden??

Ich habe folgendes versucht:
Code: (dl )
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
#! /usr/bin/perl

use strict;
use warnings;
use DBI ':sql_types';

my $dbh = DBI->connect('DBI:ODBC:driver=Microsoft Access-Treiber (*.mdb);dbq=db1.mdb',user,pass);

my $col = 'Testcol';
my $statement = "INSERT INTO table (`$col`) VALUES(?)";

my $coltype = get_type($col,$dbh);
$coltype = 'SQL_'.$coltype;

my $sth = $dbh->prepare($statement);

for(2..1000){
my $var = <STDIN>;
chomp $var;
$sth->bind_param(1,$var,$coltype);
$sth->execute($var) or die $dbh->errstr();
}

sub get_type{
my ($name,$dbh) = @_;
my ($sthcolinfo) = $dbh->column_info(undef,undef,undef,$name);
my $hashref = $sthcolinfo->fetchrow_hashref();
return $hashref->{TYPE_NAME};
}


Folgende Fehlermeldung wurde dann ausgegeben:
Code: (dl )
DBI::st=HASH(0x3e9c2dc)->bind_param(...): attribute parameter 'SQL_INTEGER' is not a hash ref at C:/access.pl line 19
\n\n

<!--EDIT|renee|1126600385-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Dynamisches Binden bei DBI