我使用连接到formview的asp.net sqldatasource,其更新参数定义为字符串,如:
<UpdateParameters>
<asp:Parameter Name="C" Type="String" />
</UpdateParameters>
当我超过4000个字符时,我得到“字符串截断:max = 4000 ...”错误。 我正在更新到SQL Compact Edition 4.0,字段是ntext。 我能够将超过4000个字符用于视觉工作室界面,问题似乎与数据库字段类型或大小无关。
将参数更改为:
<asp:Parameter Name="C" Type="String" size="5000" />
没有帮助。如果我这样做,我没有错误,但不会超过4000个字符更新。
什么可能限制更新字符大小?
答案 0 :(得分:0)
我最终在代码
后面移动了数据库更新 Using connection As New SqlCeConnection(connstr)
Dim nonquerycommand As SqlCeCommand = connection.CreateCommand()
nonquerycommand.Parameters.Add("@c", SqlDbType.NText).Value = TheData
connection.Open()
nonquerycommand.CommandText = queryString
nonquerycommand.ExecuteNonQuery()
connection.Dispose()
End Using
我仍然想知道为什么当我使用带有asp:Parameter标签的SqlDatasource时,我达到了4000个字符的限制。查看代码,添加SqlDbType.NText参数可能是个问题。我无法在aspx页面上将其添加到asp:Parameter标签。
我希望我可以使用SqlDataSource Update Parameters在aspx页面上处理这个问题。但它不能用于更新超过4000个字符。
我必须对一些项目进行修改,所以如果我的初步问题有一个答案,它将节省我的时间。虽然代码隐藏解决方案适用于超过4000个字符,但如果aspx页面中的sqldatasource处理4000多个字符,我不必为每个项目进行更改 - 所以请帮助。