Lorsque je faisais quelque chose aujourd'hui, j'ai découvert un problème très étrange. Le type de paramètre de champ dans la base de données (SqlServer) est ntext, mais les données enregistrées sont toujours très courtes. Au début, j'ai pensé qu'une limite de longueur était définie dans une certaine section. le programme.Après le suivi des points d'arrêt et le débogage, j'ai trouvé que les données transmises sont normales, mais après avoir effectué l'opération de stockage, le contenu enregistré est toujours très court. Le nombre de caractères enregistrés est de 16 et la longueur du type de champ. ntext défini dans la base de données est également 16, donc j'ai pensé que c'était un bug dans la base de données, j'ai donc écrit une instruction d'insertion dans l'analyseur de requêtes pour le tester. Il s'est avéré que le contenu enregistré était normal, donc le problème doit être. être dans le programme. Enfin, j'ai découvert que l'objet paramètre SqlParameter construisait l'objet de commande SqlCommand. Le type de paramètre spécifié est ntext et sa longueur est spécifiée comme suit :
SqlParameter[] parms = new SqlParameter[] {
nouveau SqlParameter (TEMPLATEID, SqlDbType.Int),
nouveau SqlParameter("@Content", SqlDbType.NText,16)
};
Supprimez la limite de longueur et testez à nouveau. Tout va bien Haha, il semble que les concepts de beaucoup de choses ne soient pas très clairs et peuvent facilement causer des problèmes. J'espère que cette leçon pourra donner quelques conseils à mes amis qui rencontrent des problèmes similaires. le futur.