c#现有300个设备编号在DateTable中,循环遍历这300个设备编号并依次从数据库取出每个设备最新一张图片的URL,将取出的URL填充到DateTable中
时间: 2023-11-22 22:53:38 浏览: 31
可以使用以下代码来实现:
```csharp
// 假设设备编号存储在 DataTable 的 DeviceId 列中
DataTable dt = new DataTable();
// 假设数据库连接字符串已经设置好
string connectionString = "your_connection_string_here";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 打开数据库连接
connection.Open();
// 循环遍历设备编号
foreach (DataRow row in dt.Rows)
{
string deviceId = row["DeviceId"].ToString();
// 查询该设备最新一张图片的 URL
string query = "SELECT TOP 1 Url FROM Images WHERE DeviceId = @DeviceId ORDER BY Date DESC";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@DeviceId", deviceId);
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.Read())
{
// 将取出的 URL 填充到 DataTable 中
row["ImageUrl"] = reader["Url"].ToString();
}
}
}
}
// 关闭数据库连接
connection.Close();
}
```
在上面的代码中,我们首先通过连接字符串创建了一个 SqlConnection 对象,然后在循环中遍历 DataTable 中的每个设备编号。对于每个设备编号,我们执行了一个 SQL 查询来获取该设备最新一张图片的 URL,并将其填充到 DataTable 中。最后,我们关闭了数据库连接。注意,在实际使用中,需要根据具体情况修改查询语句和连接字符串。