对于“插入” SQL语句的for循环在C#中不起作用

时间:2019-04-04 20:22:59

标签: c# sql

在C#中,我有一种将字符串值数组插入到sql db中的方法。看起来像这样

void ProcessRow(string[] row)
{
    using (SqlConnection myConnection = new SqlConnection("myConnectionString"))
    {
        myConnection.Open();

        var myCommand = new SqlCommand("INSERT INTO mytable bla bla bla using content of row"), myConnection);
        myCommand.BeginExecuteNonQuery();
    }
}

在循环中调用方法ProcessRow(string[] row)以插入多个不同的行。但是,执行代码后,没有将任何内容添加到mytable中。当我每次插入后让ProcessRow(string[] row)等一下时,如下所示

void ProcessRow(string[] row)
{
    using (SqlConnection myConnection = new SqlConnection("myConnectionString"))
    {
        myConnection.Open();

        var myCommand = new SqlCommand("INSERT INTO mytable bla bla bla using content of row"), myConnection);
        myCommand.BeginExecuteNonQuery();
        System.Threading.Thread.Sleep(100);
    }
}

然后一切正常,我的行添加到mytable中。

我的问题是:在不添加sleep(100)的情况下,第一种方法出了什么问题?感觉好像存在某种并发问题,但是我看不到这是怎么可能的,因为每个插入都包含在using(){}中。

0 个答案:

没有答案