在选择一个表的记录时,如果要选择所有字段,则可以使用 *,也可以把各个字段一一列出来。
在 ASP.NET 中,建议把各个字段一一列出来。
关于性能方面的原因,就不讨论了,因为那只是微乎其微的,我这样建议是因为 ASP.NET 中 DataReader 的数据获取方式。
由上可知,DataReader 使用 Get***() 函数来获取某字段的值,参数值不是字段名称,而是字段索引。如果我们的 SQL 语句选择字段时使用的是 *,则当调整数据库字段时顺序或插入字段时,DataReader 读出来的数据就完全不同了。
不过,如果你是使用 reader["fieldName"] 来获取数据,再外加 cast 转换,则不受本文限制。