使用C#循环并插入数据

本文关键字:插入 数据 循环 使用 | 更新日期: 2023-09-27 18:23:54

我有一个程序,它必须在场景数据库中循环,对于每次while循环迭代,都要更新第二个Results数据库。这是代码段。

    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");
        }
    }

它不起作用,我确信我做错了很多事情,但我很难找到方向。

使用C#循环并插入数据

您的第二个命令永远不会执行。添加:

cmd.ExecuteNonQuery();

我可以建议您使用SqlBulkCopy吗?这里有一些关于如何复制两个数据库表的信息,我希望你会发现它很清楚。

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