Schrift
[thread]3586[/thread]

Class::DBI: "Can't get() nothing!"



<< >> 4 Einträge, 1 Seite
esskar
 2005-06-27 03:21
#33351 #33351
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;

package Ox::WebMail::Consts;
use vars '$VERSION';
$VERSION = '0.01';

use constant {
DATABASE_SOURCE => "dbi:SQLite2:dbname=../db.sqlite2",
DATABASE_USERNAME => "",
DATABASE_PASSWORD => "",
DATABASE_PREFIX => "OxWebMail_",
};

1;


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;

package Ox::WebMail::DBI;
use vars '$VERSION';
$VERSION = '0.01';

use Ox::WebMail::Consts ();

use base 'Class::DBI';
->set_db(
'Main',
Ox::WebMail::Consts::DATABASE_SOURCE,
Ox::WebMail::Consts::DATABASE_USERNAME,
Ox::WebMail::Consts::DATABASE_PASSWORD,
);

1;


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
use strict;
use warnings;

package Ox::WebMail::User;
use vars '$VERSION';
$VERSION = '0.01';

use Ox::WebMail::Consts ();

use base 'Ox::WebMail::DBI';
->table(Ox::WebMail::Consts::DATABASE_PREFIX.'user');

sub new {
my ($parent, %args) = @_;

my $class = ref($parent) || $parent;
my $self = bless {}, $class;

return $self;
}

sub add {
my ($self, %data) = @_;

return $self->create(\%data);
}

1;


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
#!/usr/bin/perl

use strict;
use warnings;

BEGIN {
use FindBin;
use lib (
"$FindBin::Bin",
"$FindBin::Bin/../Lib",
"$FindBin::Bin/../Packages"
);
$ENV{TMPDIR} = $ENV{TEMP} || "";
};
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; # Make %ENV safer =:-)

use Ox::WebMail::User;

my $userdb = new Ox::WebMail::User;
my $id = $userdb->add(
username => 'esskar',
password => 'uhu'
);

print "$id\n";


wenn ich den code ausführe, bekomm ich folgende meldung:
Can't get() nothing! at D:\Eigene Dateien\Entwicklung\projekte\Ox\OxWebMail\Scripts\user_create.pl line 20

versteh es ja nicht :) und in die db wird auch nix geschrieben
pq
 2005-06-27 12:33
#33352 #33352
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
deine klasse hat gar keine felder, oder? hast du columns() vergessen?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
esskar
 2005-06-27 15:42
#33353 #33353
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pq,27.06.2005, 10:33]deine klasse hat gar keine felder, oder? hast du columns() vergessen?[/quote]
ahja, danke!
fange erst jetzt damit an!
Strat
 2005-06-27 16:16
#33354 #33354
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,27.06.2005, 01:21]
Code: (dl )
1
2
3
4
5
6
7
8
9
BEGIN {
    use FindBin;
    use lib (
        "$FindBin::Bin",
        "$FindBin::Bin/../Lib",
        "$FindBin::Bin/../Packages"
    );
    $ENV{TMPDIR} = $ENV{TEMP} || "";
};
[/quote]
nebenbei: fuer das findbin und use lib kannst du dir den BEGIN-Block auch sparen
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 4 Einträge, 1 Seite



View all threads created 2005-06-27 03:21.