如何将多个数据插入数据库?

时间:2017-05-02 06:05:15

标签: c# sql

我想在我的数据库中插入多个数据。我正在使用for-each语句获取数据,当我插入数据库时​​,它会为我生成10个(只是一个随机数,具体取决于我检索的数据的数量)行,每行包含一个数据,而不是全部在一排。这是我正在使用的for-each语句。

 foreach(var kiev in dict)
    {
        string na = kiev.Key;
        if(na != "db_table_name")
        {
            string quer = "insert into " + HttpContext.Current.Session["tablename"].ToString() + " ( " + kiev.Key + " ) VALUES ( '" + kiev.Value + "' ) ";
            SqlCommand cl = new SqlCommand(quer, con);
            cl.ExecuteNonQuery();
        }
    }

1 个答案:

答案 0 :(得分:0)

有更好的选择,例如" SqlBulkCopy"如评论中已经提到的那样可以使用这样的东西:

string tablename = "";
string values = "";
string keys = "";

foreach(var kiev in dict)
   {
        string na = kiev.Key;
        if(na != "db_table_name")
        {
                keys += kiev.Key + ", ";
                values += "'" + kiev.Value + "', ";
        }
   }
keys = keys.Remove(keys.Length - 2);
values = values.Remove(values.Length - 2);

string quer = "insert into " + HttpContext.Current.Session["tablename"].ToString() + " ( " + keys + " ) VALUES ( " + values + " ) ";

SqlCommand cl = new SqlCommand(quer, con);
cl.ExecuteNonQuery();