通过sql datareader获取时,字符串数据被截断

时间:2010-12-16 11:43:01

标签: c# sql-server-2005 sqldatasource

我正在使用 datareader 通过存储过程获取表的记录值。 但是当使用 datareader.getstring(2) 来获取特定列的值时,返回的字符串是截断的其余部分getstrings 正在返回完整的值)。 任何人都可以指导我分析这个吗?

2 个答案:

答案 0 :(得分:2)

使用SqlDataReader对象时,XML数据行将被截断为2,033个字符。要解决此问题,请使用ExecuteXmlReader方法读取FOR XML查询。有关如何将ExecuteXmlReader与SQL Server FOR XML查询一起使用的其他信息 https://support.microsoft.com/en-us/kb/310378 https://support.microsoft.com/en-us/kb/316701

答案 1 :(得分:0)

如下更改您的Db逻辑,

Declare @xmldata xml
set @xmldata =(<your select query>  
FOR XML AUTO)
select @xmldata as returnXml

然后从c#中读取列 returnXml ,即objReader [0]