请问C#中如何读取数据库中的一列数据,并把这列的每行数据分别赋给一个不同的进度条

2025-03-24 18:55:05
推荐回答(2个)
回答1:

你所谓的一列,大概是指数据库中的一个“字段”吧,你所谓的一行,大概是指数据库的一个“条目(Entry)”吧。所以从这个角度讲,实现方案太多了,我提供一个相对来多工作量最小的:
首先通过Entity Framework建立ORM模型,实现与数据库的连接,然后类似这样:
IEnumerable data;
using (var context = new DbContext())
{
data = context.SomeEntity.Select(o=>o.SomeProperty);
}

data里就是你要的“一列”数据

现在假设你的UI里已经布置好了若干(与data里的数据量相当)ProgressBar[],然后就简单了:
for (int i = 0; i < data.Count; i++)
{
progressBar[i].Value = data[i];
}
基本上就是这么个思路吧,当然具体实现你用不用EF,用不用Winform,要看你的场景了。

回答2:

可以的,假设你的数据库名称是DataBase,你要读取表Student的Name那一列,那么代码如下:
string conStr = "Data Source=.;Initial Catalog=DataBase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(conStr))
{
connection.Open();
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "select Name from Student";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
textbox1.Text=name;
}
}
}
}