Als ich heute etwas machte, entdeckte ich ein sehr seltsames Problem. Der Feldeinstellungstyp in der Datenbank (SqlServer) ist ntext, aber die gespeicherten Daten sind immer sehr kurz. Ich dachte zunächst, dass in einem bestimmten Abschnitt eine Längenbeschränkung festgelegt wurde Nach dem Festlegen des Haltepunkts und des Debuggens habe ich festgestellt, dass die übertragenen Daten normal sind, der gespeicherte Inhalt jedoch immer sehr kurz ist. Die Anzahl der gespeicherten Zeichen beträgt 16 und die Länge des Feldtyps Der in der Datenbank festgelegte ntext war ebenfalls 16, also dachte ich, es sei ein Fehler in der Datenbank, also habe ich eine Einfügeanweisung in den Abfrageanalysator geschrieben, um ihn zu testen. Es stellte sich heraus, dass der gespeicherte Inhalt normal war, also muss das Problem vorliegen Schließlich habe ich festgestellt, dass das Parameterobjekt SqlParameter das SqlCommand-Befehlsobjekt erstellt. Der angegebene Parametertyp ist ntext und seine Länge ist wie folgt:
SqlParameter[] parms = new SqlParameter[] {
neuer SqlParameter(TEMPLATEID, SqlDbType.Int),
neuer SqlParameter("@Content", SqlDbType.NText,16)
};
Entfernen Sie die Längenbeschränkung und testen Sie es erneut. Haha, es scheint, dass die Konzepte vieler Dinge nicht sehr klar sind und ich hoffe, dass diese Lektion meinen Freunden einige Tipps geben kann die Zukunft.