SqlServer Select 相同列名到 DataSet 时出错?
Select 两个相同列名的数据到 DataSet 。
假设列名为【Comment】,线下获取的 DataSet 中,第二个【Comment】会自动变为【Comment1】;
线上则报错【多次为 PagedPersons 指定了 Comment 列】
发现只有翻页时才会出错,第一页时线上线下都正常;翻页时线上线下都出错了。
原因:由于使用了 FluentData 框架,翻页时的代码如下。
cs
var pagedSql = string.Format(@"with PagedPersons as
(
select top 100 percent {0}, row_number() over (order by {1}) as FLUENTDATA_ROWNUMBER
{2}
)
select *
from PagedPersons
where fluentdata_RowNumber between {3} and {4}",
data.Select,
data.OrderBy,
sql,
data.GetFromItems(),
data.GetToItems());错误信息是指多次为临时表【PagedPersons】指定了【Comment】列,导致了异常。