sql少了一个右括号 在 2010年3月5日 上午10:32,liu peng <[email protected]>写道:
> table_created是一个事件,不是指表是否存在。 > > 在 2010年3月4日 下午8:01,Anthony WU <[email protected]>写道: > > table_created >> 是指你的表已��存在吧? >> >> >> >> -------- Original Message -------- >> Subject: [PerlChina] 关于POE::Component::EasyDBI >> From: liu peng <[email protected]> >> To: perlchina <[email protected]> >> Date: 4/3/2010 16:32 >> > 源码如下: >> > use strict; >> > use warnings; >> > >> > use Data::Dumper; >> > use Time::HiRes qw(time); >> > use POE; >> > use POE::Component::EasyDBI; >> > use POE::Component::Client::TCP; >> > use POE::Component::Client::SMTP; >> > use POE::Component::Net::FTP; >> > use POE::Filter::Line; >> > # Set up the DBI >> > POE::Component::EasyDBI->spawn( # or new(), witch returns an obj >> > alias => 'EasyDBI', >> > dsn => >> 'DBI:mysql:database=swatdb;host=127.0.0.1;port=3306', >> > username => 'root', >> > password => '', >> > ); >> > >> > # Create our own session to communicate with EasyDBI >> > POE::Session->create( >> > inline_states => { >> > _start => sub { >> > $_[KERNEL]->post( 'EasyDBI', >> > do => { >> > sql => "CREATE TABLE users (id INT, username >> > VARCHAR(100)", >> > event => "table_created", >> > } >> > ); >> > }, >> > >> > table_created => sub { >> > print "in table_created\n"; >> > my ($kernel, $session, %hash) = >> ($_[KERNEL], $_[SESSION], %{$_[ARG0]}); >> > >> > print Dumper $session; >> > print "----------------------\n"; >> > print Dumper $_[ARG0]; >> > print "----------------------\n"; >> > print Dumper %hash; >> > >> > $_[KERNEL]->post( 'EasyDBI', >> > insert => { >> > # multiple inserts >> > insert => [ >> > { id => 1, username => 'foo' }, >> > { id => 2, username => 'bar' }, >> > { id => 3, username => 'baz' }, >> > ], >> > }, >> > ); >> > $_[KERNEL]->post( 'EasyDBI' => 'commit' ); >> > $_[KERNEL]->post( 'EasyDBI' => 'shutdown' ); >> > }, >> > } >> > ); >> > >> > POE::Kernel->run(); >> > >> > exit 0; >> > >> > >> > >> > 但运行之后报错: >> > C:\SWAT\tools\ServerDaemon>perl testmysql.pl >> > in table_created >> > $VAR1 = bless( [ >> > {}, >> > {}, >> > { >> > '_start' => sub { "DUMMY" }, >> > 'table_created' => sub { "DUMMY" } >> > } >> > ], 'POE::Session' ); >> > ---------------------- >> > $VAR1 = { >> > 'sql' => 'CREATE TABLE users (id INT, username VARCHAR(100)', >> > 'session' => 3, >> > 'error' => 'POE::Component::EasyDBI was shut down forcibly!', >> > 'action' => 'do', >> > 'id' => 0, >> > 'event' => 'table_created', >> > 'placeholders' => [] >> > }; >> > ---------------------- >> > $VAR1 = 'sql'; >> > $VAR2 = 'CREATE TABLE users (id INT, username VARCHAR(100)'; >> > $VAR3 = 'session'; >> > $VAR4 = 3; >> > $VAR5 = 'action'; >> > $VAR6 = 'do'; >> > $VAR7 = 'error'; >> > $VAR8 = 'POE::Component::EasyDBI was shut down forcibly!'; >> > $VAR9 = 'id'; >> > $VAR10 = 0; >> > $VAR11 = 'event'; >> > $VAR12 = 'table_created'; >> > $VAR13 = 'placeholders'; >> > $VAR14 = []; >> > >> > 用mysql的客户端可以连上数据库的 >> > 请大侠帮忙! >> > >> > >> >> -- >> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 >> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 >> 要取消订阅此网上论坛,请发送电子邮件至 >> [email protected]<perlchina%[email protected]> >> 。 >> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >> >> > -- > 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 > 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 > 要取消订阅此网上论坛,请发送电子邮件至 > [email protected]<perlchina%[email protected]> > 。 > 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 > -- Woosley.Xu -- 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。 要向此网上论坛发帖,请发送电子邮件至 [email protected]。 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
