zoukankan      html  css  js  c++  java
  • C#里如何把一个DataTable的数据追加进数据库里的某个表

    方法一

    DataTable table = new DataTable();
                //TODO: init table...
                string connStr = "user id=" + dbInfo.UserName + ";data source=" + dbInfo.DBServerIP + ";persist security info=False;initial catalog=" + dbInfo.DatabaseName + ";password=" + dbInfo.Password;
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(conn);
                sqlBulkCopy.DestinationTableName = dbInfo.TableName;
                sqlBulkCopy.WriteToServer(table);
                sqlBulkCopy.Close();

    方法二

    DataTable table = new DataTable();
                //TODO: init table...
    
                string connStr = "user id=" + dbInfo.UserName + ";data source=" + dbInfo.DBServerIP + ";persist security info=False;initial catalog=" + dbInfo.DatabaseName + ";password=" + dbInfo.Password;
                DataTable dt = new DataTable();
                SqlConnection conn = new SqlConnection(connStr);
                SqlCommand cmd = new SqlCommand(string.Format("select * from {0} where 1=2", dbInfo.TableName), conn);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                SqlCommandBuilder Builder = new SqlCommandBuilder(sda);
                sda.Fill(dt);
    
                DataRow addRow = null;
                foreach (DataRow row in table.Rows)
                {
                    addRow = dt.NewRow();
                    for (int i = 0; i < table.Columns.Count; i++)
                    {
                        addRow[i] = row[i];
                    }
                    dt.Rows.Add(addRow);
                }
    
                sda.Update(dt);


    总结

    1. 仅仅有 Insert ? 那么用 SqlBulkCopy.
    2. Insert/Update/Delete ? 那么用 DataAdapter.Update.


  • 相关阅读:
    sqlalchemy 查询姿势总结
    sqlalchemy 常用总结
    rsyslog 移植与配置方案介绍
    软件设计随想录
    C语言面对对象设计模式汇编
    关于linux kernel slab内存管理的一点思考
    linux PMBus总线及设备驱动分析
    Linux x86_64 APIC中断路由机制分析
    单板控制领域模型设计与实现
    Linux mips64r2 PCI中断路由机制分析
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6963988.html
Copyright © 2011-2022 走看看