逐行读取 SQl 表并更新单元格

本文关键字:更新 单元格 读取 SQl 逐行 | 更新日期: 2023-09-27 18:33:48

我正在尝试逐行 ID 读取表行 ID 并更新某个单元格,

如果

行 ID 为 123 并获取行 ID (123

),在文件夹中搜索多个图像图像中的一个图像,该图像 ID 以文本 EX - Name_123_AA.JPG 命名,并获取完整图像名称并更新当前行 ID (123) 中的 Name 单元格。

逐行读取 SQl 表并更新单元格

如果您正在寻找特定的文件名,您只需检查目录中是否存在它:

int rowID = 123;
string fileName = "Text Ex - Name_" + rowID.ToString() + "_AA.jpg";
if (System.IO.File.Exists("YourDirectory''" + fileName))
{
    using (var connection = new SqlConnection(yourConnectionString))
    using (var command = new SqlCommand("UPDATE YourTable SET FilePath = @FilePath WHERE RowID = @RowID", connection))
    {
        command.Parameters.AddWithValue("@FilePath", fileName);
        command.Parameters.AddWithValue("@RowID", rowID);
        command.ExecuteNonQuery();
    }
}

如果你需要搜索,Directory.GetFiles() 方法允许使用搜索模式,所以你可能有这样的内容:

string searchPattern = "*" + rowID.ToString() + "*"; // adapt as required
string[] files = Directory.GetFiles("YourDirectory", searchPattern);
if (files.length > 0)
{
    using (var connection = new SqlConnection(yourConnectionString))
    using (var command = new SqlCommand("UPDATE YourTable SET FilePath = @FilePath WHERE RowID = @RowID", connection))
    {
        command.Parameters.AddWithValue("@FilePath", Path.GetFileName(Getfiles[0]));
        command.Parameters.AddWithValue("@RowID", rowID);
        command.ExecuteNonQuery();
    }
}
你可以

这样做,首先从数据库中获取你的id,然后

DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath("~/Your Folder Name/"));
            List<string> files = new List<string>();
            foreach (FileInfo finfo in dirinfo.GetFiles())
            {
                files.Add(finfo.FullName);
            }
            //Check with ID 
            if (files.Count > 0)
            {
                foreach (var item in files)
                {
                    if (item.Contains(yourId from database))
                    {
                        //just update this FileName(URL) in database
                    }
                }
            }