日期:2014-05-19  浏览次数:20420 次

读取ntext不完整的问题
mssql里面有一段ntext类型字段,字符长度大约为10万字符串,已确认完整insert,SELECT后用DataSet返回发现无法完整返回,只返回了1万左右的字符,
是DataTable里面的属性有长度限制?自动截断了?
我搜索了一个下午都没有找到正解,请高手解答.

------解决方案--------------------
1.用dr[ "StrContent "].ToString().Length 验证一下字符串的长度。你可以试着先用程序创建一个包含12万个字符 '8 '的字符串,然后取出来验证一下长度。

2.sqlstr = "INSERT INTO DB_Url (Url,StrContent) VALUES ( ' " + UrlReq + " ', ' " + StrContent.Replace( " ' ", " ' ' ").ToString() + " ') ";
使用拼接字符串插入数据,这种方式不可取。一个容易引起安全问题(比如sql注入),而且如果输入一些特殊字符可能会对输入的内容进行截取从而引发你碰到的这种莫名其妙的问题。所以你要用参数来写sql字符串
sqlstr = "INSERT INTO DB_Url (Url,StrContent) VALUES (@UrlReq ,@StrContent) ";
……
下面的语句给参数赋值,你网上看资料自己写吧
……
……