2017-03-10 1 views
0

Ich habe eine Spalte in der Datenbank mit einem Typ: nvarchar (300)SQL - Einfügen von Text mit Zeilen breakes in eine Säule verursacht Fehler

Auf einer Seite, ich habe einen Textbereich mit einem maxsize limit = 300, so dass 300 Zeichen max eingeben:

<textarea id="txtDescription" maxlength="300" cols="70" rows="5"></textarea> 

Aber aus irgendeinem Grund, wenn ich geben Sie den Text mit Zeilenumbrüchen gibt, wie diese:

1. First. 
2. Second. 
3. Third. 

der Browser zählt nicht die eingegebene Anzahl von Symbolen ri ght, es zählt einen Zeilenumbruch als ein zusätzliches Zeichen, aber wenn ich dann diesen Wert in SQL-Spalte einfüge, gibt es mir einen Typenkonfliktfehler, anscheinend , weil SQL einen Zeilenumbruch als zwei Zeichen zählt und die maximale Länge überschritten wird.

Nun, da ich nicht weiß, wie viele Zeilenumbrüche der Benutzer dort eingeben wird, gibt es eine Möglichkeit, Eingangswert zu verarbeiten, so dass es korrekt in die Datenbanktabelle eingefügt wird, ohne Fehler? (Hinweis: Ich benutze Javascript auf einer Client-Seite und klassisches ASP auf VBscript auf der Serverseite geschrieben).

Also, dass ich das Limit von 300 Zeichen maximal und würde den Typ der Spalte zu Nvarchar (MAX) ändern müssen?

Antwort

0

Sie können die Zeilenumbrüche (char(13) oder \r) entfernen und halten die Zeilenvorschübe (char(10) oder \n).

Verwandte Themen