将数据表插入到sql表中

时间:2013-04-03 05:23:55

标签: c# asp.net

我有一个名为dt2的数据表。它包含一些数据。我想将这些数据添加到名为invitationdata的表中。

我该如何编写代码?任何人都可以帮忙吗?

4 个答案:

答案 0 :(得分:35)

public bool BulkInsertDataTable(string tableName, DataTable dataTable)
{
    bool isSuccuss;
    try
    {
        SqlConnection SqlConnectionObj = GetSQLConnection();
        SqlBulkCopy bulkCopy = new SqlBulkCopy(SqlConnectionObj, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.UseInternalTransaction, null);
        bulkCopy.DestinationTableName = tableName;
        bulkCopy.WriteToServer(dataTable);
        isSuccuss = true;
    }
    catch (Exception ex)
    {
        isSuccuss = false;
    }
    return isSuccuss;
}

答案 1 :(得分:5)

 DataTable dt = new DataTable();
 string sql = "";
 for (int i = 0; i < dt2.Rows.Count; i++)
 {
    sql = sql + "insert into InvitationData (Col1, Col2, ColN) values('"
          + dt2.Rows[i]["columnname"].ToString().Trim() + "','"
          + dt2.Rows[i]["columnname"].ToString().Trim() + "','" 
          + dt2.Rows[i]["columnname"].ToString().Trim() + "')";
 }

答案 2 :(得分:2)

如果您的数据表和表结构相同,那么您可以使用SqlBulkCopy,如果数据表包含大量行,这将是一个更快的选项。

<强> SqlBulkCopy的

  

允许您使用来自的数据有效地批量加载SQL Server表   另一个来源。

答案 3 :(得分:1)

使用INSERT INTO...SELECT

INSERT INTO InvitationData (Col1, Col2, ColN)
SELECT Col1, Col2, ColN
FROM   DT2

它的作用是选择所有记录(或指定记录)并将其插入另一个表格。