asp.net仅向数据库中插入255个字符

asp.net仅向数据库中插入255个字符,asp.net,sql-server,insert,Asp.net,Sql Server,Insert,我正在做一个项目,我开始测试它的一部分。我意识到我有一个小问题,但无法理解它。我试图插入一些数据到数据库中,有一列是nvarchar(4000)。但每当我尝试插入任意长度的字符串时,它只插入255个字符。为什么只需要255个字符 这是我的密码 dbCommand = db.GetStoredProcCommand("New_Post"); db.AddInParameter(dbCommand, "PostHeader", DbType.String, txt_post_head

我正在做一个项目,我开始测试它的一部分。我意识到我有一个小问题,但无法理解它。我试图插入一些数据到数据库中,有一列是nvarchar(4000)。但每当我尝试插入任意长度的字符串时,它只插入255个字符。为什么只需要255个字符

这是我的密码

dbCommand = db.GetStoredProcCommand("New_Post");
        db.AddInParameter(dbCommand, "PostHeader", DbType.String, txt_post_header.Text.Trim());
        db.AddInParameter(dbCommand, "PostBody", DbType.String, txt_post_body.Text.Trim());
        db.AddInParameter(dbCommand, "UserId", DbType.Guid, new Guid(Session["SessionUserID"].ToString()));
        db.AddInParameter(dbCommand, "PollDescription", DbType.String, txt_poll.Text);
        db.AddInParameter(dbCommand, "CityId", DbType.Int16, 1);
        db.AddInParameter(dbCommand, "SpecialtyID", DbType.Int16, Convert.ToInt16(Session["SessionSpecialityId"].ToString()));
        db.ExecuteNonQuery(dbCommand);

由于您没有使用限制声明参数,因此您仅有的两个选项是数据库字段的限制为256,或者存储过程中的参数为256,请检查此选项,然后您应该解决问题

存储过程New_Post的参数类型是什么?nvarchar(4000)也是吗?(此外……它在内部做什么?)存储过程是否可能将参数限制为255个字符?否则:您可以使用
db.AddInParameter(…)
DbType.String
参数指定长度吗?除非您另外指定,否则默认值为255…您就是那个人:)非常感谢。在该过程中,ıt被声明为255。您正在使用数据访问应用程序块吗?