0

行 ID ごとにテーブルの行 ID を読み取り、いくつかのセルを更新しようとしていますが、

もしも

行 ID は 123 で、行 ID (123) を取得します。多くの画像から 1 つの画像をフォルダで検索します。その ID はテキスト EX で名前が付けられています Name_123_AA.JPG。完全な画像名を取得し、現在の行 ID (123) の [名前] セルを更新します。 )。

4

2 に答える 2

0

探している特定のファイル名がある場合は、ディレクトリ内にそのファイルが存在するかどうかを簡単に確認できます。

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();
    }
}
于 2013-10-04T07:46:12.540 に答える