Hallo!
Die TEXT-Felder in Access entsprechen im SQL-Server den VARCHAR- oder
NVARCHAR-Feldern. Und ein MEMO-Feld kann man als TEXT- oder NTEXT-, oder
IMAGE-Feld definieren.
Einerseits unterst�tzt SQL Server den Unicode, andererseits werden die
Daten aber immer unkomprimiert abgelegt, so dass ein Buchstabe immer 2
Bytes ben�tigt. In CHAR(20) passen 20 Buchstaben, in NCHAR(20) aber nur
10.
Der Unterschied zwischen VARCHAR(20) und CHAR(20) ist der zwischen "abc"
und "abc ". CHAR-Felder haben immer die definierte
L�nge; Leerzeichen werden erforderlichenfalls automatisch angef�gt. Also
nimmt man CHAR nur bei kurzen Feldern oder dann, wenn immer die gleiche
Zeichenl�nge eingegeben wird. CHAR-Felder sind n�tzlich f�r Indizes
(weil schneller), k�nnen aber in Abfragen Probleme bereiten. So findet
man mit "... where xy = 'abc' ..." keinen Datensatz, wenn xy ein
CHAR(4)-Feld. In dem Fall muss man nach 'abc ' suchen. Wenn man eine
Abfrage �ber ADO macht, wird die L�nge automatisch angepasst: "set rs =
cmd.Execute("...query...", array("abc"))" funktioniert also auch mit
CHAR-Feldern.
Freundliche Gr��e
Joachim van de Bruck
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp