home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / varchar.pm < prev    next >
Encoding:
Text File  |  2001-11-05  |  1.4 KB  |  55 lines

  1. ############################################################################
  2. #
  3. # Win32::ASP::Field::varchar - implements varchar fields in the Win32-ASP-DB system
  4. #
  5. # Author: Toby Everett
  6. # Revision: 0.02
  7. # Last Change:
  8. ############################################################################
  9. # Copyright 1999, 2000 Toby Everett.  All rights reserved.
  10. #
  11. # This file is distributed under the Artistic License. See
  12. # http://www.ActiveState.com/corporate/artistic_license.htm or
  13. # the license that comes with your perl distribution.
  14. #
  15. # For comments, questions, bugs or general interest, feel free to
  16. # contact Toby Everett at teverett@alascom.att.com
  17. ############################################################################
  18.  
  19. use Win32::ASP::Field;
  20. use Error qw/:try/;
  21. use Win32::ASP::Error;
  22.  
  23. package Win32::ASP::Field::varchar;
  24.  
  25. @ISA = ('Win32::ASP::Field');
  26.  
  27. use strict;
  28.  
  29. sub _check_value {
  30.   my $self = shift;
  31.   my($value) = @_;
  32.  
  33.   if (defined $self->maxl and length($value) > $self->maxl) {
  34.     throw Win32::ASP::Error::Field::bad_value (field => $self, bad_value => $value,
  35.         error => "Maximum length ".$self->maxl." exceeded.");
  36.   }
  37.  
  38.   $self->SUPER::_check_value($value);
  39. }
  40.  
  41. sub _as_sql {
  42.   my $self = shift;
  43.   my($value) = @_;
  44.  
  45.   $self->check_value($value);
  46.  
  47.   defined $value or return 'NULL';
  48.  
  49.   $value =~ s/'/''/g;
  50.   $value = "'$value'";
  51.   return $value;
  52. }
  53.  
  54. 1;
  55.