You are not logged in.

wcf.regNote.message

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

1

Wednesday, June 2nd 2004, 11:32am

Datenbank -> VARCHAR(2500)

Mal noch ne andere Frage, die mit dem javascript Zeugs und Perl zu tun hat, mitdem ich gerade arbeite.

Ich habe auf der Datenbank ein Datenfeld namens "textarea" als Typ "VARCHAR(2500)" deklariert/angelegt.

Ich möchte nun den Wert eines <textarea> Felds in dieses Datenfeld schreiben.

Es befinden sich in diesem <textarea> genau 2500 Zeichen, das hab ich erstens mit der JavaScript Funktion begrenzt und zweitens auch noch mal mit Perl überprüft...
my $zeichen_anzahl = length($textarea);
print "$zeichen_anzahl"; # 2500


Wenn ich den Krempel jetzt auf die Datenbank schreiben lassen will, mit folgenden Code-Zeilen...
my $sth_daten = $dbh -> prepare( qq{ INSERT INTO daten (textarea) VALUES (?) };
my $rc_daten = $sth_daten -> execute ($textarea);
$sth_daten = $dbh -> prepare( qq{ commit });

...dann funktioniert das nicht.
Es geht erst, wenn ich nur 2499 Zeichen in $textarea habe.

Warum geht das nicht, obwohl das Datenfeld "textarea" doch mit dem Datentyp "VARCHAR(2500)" versehen ist und somit für 2500 Zeichen Platz sein müsste?
Spaß im Netz auf www.piep001.de

bauser

Intermediate

Posts: 384

Occupation: Senior Software Engineer

  • Send private message

2

Wednesday, June 2nd 2004, 12:13pm

ich weiss nich aber vielleicht kommt zu den 2500 zeichen aus der textarea noch eni \0 oder ähnliches dazu was den string abschliesst. wenn er das mit in die db schreiben will hast du natürlich 2501 zeichen... aber keine ahnung, nur sone idee
I'm Tony Menthanar! You fuck wit me, you fuckin' wit da best!

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

3

Wednesday, June 2nd 2004, 12:23pm

Ja, an sowas hatte ich auch schon gedacht, aber ich würde gerne genaueres darüber wissen, damit ich genau weiß woran es liegt und das entsprechend mit einplanen kann. Weiß einer genau, was da passiert?

Ansonsten lasse ich halt nur 2499 Zeichen zu oder erhöhe den "VARCHAR"-Typ auf 2501. Ne Lösung wäre das ja.
Spaß im Netz auf www.piep001.de

This post has been edited 1 times, last edit by "piep001" (Jun 2nd 2004, 12:24pm)


bauser

Intermediate

Posts: 384

Occupation: Senior Software Engineer

  • Send private message

4

Wednesday, June 2nd 2004, 2:24pm

naja ich würde weder noch amchen. ich würde halt von dem 2501 zeichen langen string nur die ersten 2500 wegschreiben ;)
I'm Tony Menthanar! You fuck wit me, you fuckin' wit da best!

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

5

Wednesday, June 2nd 2004, 3:09pm

ok, ginge auch, aber wäre ja das gleiche im prinzip ;)
Spaß im Netz auf www.piep001.de

bauser

Intermediate

Posts: 384

Occupation: Senior Software Engineer

  • Send private message

6

Wednesday, June 2nd 2004, 3:29pm

naja bei dem einen passt du die gegebenheiten an deinen code an udn beim andern den code an die gegebenheiten, ich bevorzuge halt zweiteres
I'm Tony Menthanar! You fuck wit me, you fuckin' wit da best!

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

7

Wednesday, June 2nd 2004, 3:50pm

Joaaa, aber das wäre doch nicht der Fall, wenn ich beim JavaScript Teil nur 2499 zulassen würde.
Egal, du hast ja eigentlich schon recht. Ich werde einfach mal schaun und dann irgendwas machen.

Trotzdem, falls mir das einer noch erklären kann, dann mir sofort mitteilen, bitte!! ;)
Spaß im Netz auf www.piep001.de

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

8

Wednesday, June 2nd 2004, 8:47pm

kannst dir ja einfach mal die Zeichen als ASCII Werte ausgeben lassen
und dann siehst du schon ob der ein \0 hinten dran hat oder nicht ...
Allerdings bin ich mir fast sicher des es so ist.

Sollte als Perl Code ungefähr so aussehen:

PHP Source code

1
2
3
foreach (unpack(("a" x length($textarea)),$textarea)) {
        print ord($_),",";
}


Ciao Ephraim

wcf.user.socialbookmarks.titel