c# - ASP.NET Core 在页面上显示数据库中的所有行
问题描述
我正在尝试使用 ASP.NET Core MVC 在网站上显示数据库中的每一行,但我找不到任何有关如何执行此操作的来源。这是我尝试做的,但我卡住了:
public IActionResult Index()
{
connection.Open();
command.Connection = connection;
command.CommandText = "SELECT COUNT(*) FROM Users;";
var rows = Convert.ToInt32(command.ExecuteReader());
command.Dispose();
List<UserModel> users = new List<UserModel>();
for(int i = 0; i <= rows; i++)
{
users.Add(new UserModel(ID, "", ""));
}
command.CommandText = "SELECT * FROM Users";
dataReader = command.ExecuteReader();
return View();
}
我的数据库的结构是这样的:ID、用户名、密码、密码哈希,但我只想显示用户名开头。
如果您有任何来源或想法,将非常感激!预先感谢!
最好的问候马克斯
解决方案
如果您真的想使用原始 ADO.NET,那么好吧,我将向您展示一个示例。
public IActionResult Index()
{
using var connection = new SqlConnection(_connectionString);
connection.Open();
using var command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SELECT Username FROM Users;";
using var reader = command.ExecuteReader();
List<UserModel> users = new List<UserModel>();
while (reader.Read())
{
string name = reader.GetString(0);
users.Add(new UserModel { Name = name });
}
return View(users);
}
您不需要向数据库发出两个请求——这非常浪费。
您只想显示用户名,因此只请求它就足够了。
推荐阅读
- c# - 计算矩形纵横比方差的函数
- python - 基于现有的df获取一个新的数据框,其值为列
- graphql - GraphQL 输出类型
- apache-kafka - 与参数“--command-config”一起使用的 Kafka adminClient 属性文件的格式是什么?
- linux - 从 shell 中的文件中删除模式线的快速方法
- python - Data_Frame 错误 - ValueError:只能比较标记相同的系列对象
- jq - jq (map(select))不能用字符串“ID”索引字符串退出状态 5
- coverity - 没有文件发出警告
- c# - 在 C# 中将 2 个 Xml 文件与 XDocument 相交
- python - 如何在 pygame 中逐个字母地 blit 文本?(就像那些复古的 RPG 游戏一样)