C# oder SQL-Server haut Zeichen ab

Hallo

Ich schreibe mal hier, denn ich benutze C#…

Ich habe in einer SQL-Server 2000-Tabelle ein Feld vom Typ TEXT.

Diese sind intern ja 16 Zeichen lang. Eine Max-Länge kann/muss ich da ja offenbar nicht eingeben.

Aus meinem C#-Programm schreibt er aber nun nur diese ersten 16 Zeichen rein.

Habe schon diverse Variationen probiert und bin der Meinung, dass ich den Parameter anständig definiere, wie sich das gehört.

 cmdInternal.Parameters.Add("@Meldung", System.Data.SqlDbType.Text, 16, "Meldung");
 cmdInternal.Parameters["@Meldung"].Size = 1000;
 cmdInternal.Parameters["@Meldung"].Value = "http://www.omsec.com";

Danke für Infos
Roger

Moin!
Hast Du es schon mal ganz trivial damit probiert:

cmdInternal.Parameters.Add("Meldung", "Das ist ein längerer Text");

Wenn in Deiner DB das Feld mit einer Länge von 16 Zeichen definiert ist, dann müssten auch nur die ersten 16 Zeichen übernommen werden.
Die Feldgröße nur für einzelne Werte zu ändern, wie Du es oben offenbar mit dem .Size=1000 versuchst, ist IMHO nicht möglich.
Dafür musst Du schon die Tabellendefinition ändern.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

JA so funktioniert’s :wink:

Schon amüsant, offenbar geht’s auch ohne Angabe von Size und SourceColumn…

Nun ja, manchmal muss ich immernoch den Kopf schütteln über dieses .NET, obwohl’s cool ist :wink: