2

シナリオ データベースをループし、while ループの反復ごとに 2 番目の結果データベースを更新する必要があるプログラムがあります。これがコードのセグメントです。

    public void TestScenarios(SqlConnection connection)
    {
        using (SqlCommand cmd = new SqlCommand("SELECT * FROM Scenarios", connection))
        {
            SqlDataReader reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    string Id = reader["ScenarioID"].ToString();
                    string Data = reader["ScenarioData"].ToString();
                    string Url = reader["ScenarioURL"].ToString();
                    webBrowser1.Navigate(Url);
                    InsertResults(connection, Id);
                }
            }

            reader.Close();
        }
    }

    public void InsertResults(SqlConnection conn, string Id)
    {
        using (SqlCommand cmd = new SqlCommand("INSERT INTO Results VALUES(" +
                "@ResultID, @HasSucceeded, @ScenarioID, @Screenshot)", conn))
        {
            cmd.Parameters.AddWithValue("@ResultID", 0);
            cmd.Parameters.AddWithValue("@HasSucceeded", 0);
            cmd.Parameters.AddWithValue("@ScenarioID", Id);
            cmd.Parameters.AddWithValue("@Screenshot", "screenshot.jpeg");
        }
    }

それは機能していません。間違いなくたくさんのことをしたと思いますが、方向性を見つけるのに苦労しています。

4

2 に答える 2

5

2 番目のコマンドは実行されません。追加:

cmd.ExecuteNonQuery();
于 2013-07-18T21:01:50.457 に答える
2

SqlBulkCopy の使用を提案してもよろしいですか? 2 つのデータベース テーブルをコピーする方法に関する情報を次に示します。理解していただければ幸いです。

http://www.codeproject.com/Articles/18418/Transferring-Data-Using-SqlBulkCopy

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy%28v=vs.90%29.aspx

于 2013-07-18T21:09:12.717 に答える