1

列に値を格納する必要があるアプリケーションがあります。値はコード内の文字列で、列のデータ型はnvarcharです。

foreach (DataRow row in dt.Rows)
{
    //Generate a random length for randomKey range between 3 and 6 characters
    Random randKey = new Random();
    int randKeyLength = randKey.Next(3, 6);

    //calculate randomKeyString
    String randomKeyString = md5Prepare.gen_randomKeyString(randKeyLength);

    //add randomKeyString to database
    row["randomKey"] = randomKeyString;
}

データベースを確認すると、列「randomKey」は変更されていません。ここで何が問題なのですか?

4

3 に答える 3

1

DataRowまたはで Commit メソッドを呼び出していませんDataTable。データベースを実際に更新するには、と
が必要です。DataAdapterDataSet

foreach (...)
{
    // your code here
}
DataSet dataSet = new DataSet();
dataSet.Tables.Add(dt);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.Update(dataSet);
于 2012-11-28T06:48:37.977 に答える