ASP.NET 中建议 sql 选择字段不使用 *

作者:vkvi 来源:ITPOW(原创) 日期:2007-12-28

在选择一个表的记录时,如果要选择所有字段,则可以使用 *,也可以把各个字段一一列出来。

在 ASP.NET 中,建议把各个字段一一列出来。

关于性能方面的原因,就不讨论了,因为那只是微乎其微的,我这样建议是因为 ASP.NET 中 DataReader 的数据获取方式。

SqlDataReader reader = cmd.ExecuteReader();
string userName = reader.GetString(0);

由上可知,DataReader 使用 Get***() 函数来获取某字段的值,参数值不是字段名称,而是字段索引。如果我们的 SQL 语句选择字段时使用的是 *,则当调整数据库字段时顺序或插入字段时,DataReader 读出来的数据就完全不同了。

不过,如果你是使用 reader["fieldName"] 来获取数据,再外加 cast 转换,则不受本文限制。

相关文章