zoukankan      html  css  js  c++  java
  • CSV 导入SQL Server 中

    /// <summary>
    /// 打开CSV并显示数据
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button_Click(object sender, EventArgs e)
    {
      OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
      OpenFileDialog1.Filter = "CSV|*.CSV";
      if (OpenFileDialog1.ShowDialog() == DialogResult.Cancel)
      {
        return;
      }
      else
      {
        this.dgvShow.DataSource = null;
        string fileName = OpenFileDialog1.FileName;
        dtcsv=OpenCSV(fileName);
        this.dgvShow.DataSource =dtcsv ;
        MessageBox.Show("成功显示CSV数据!");
      }
    }

    1:写入SQL  方法1

    /// <summary>
    /// 写入数据库
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void button1_Click(object sender, EventArgs e)
    {
      string ConStr = "链接数据库";

      using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(ConStr))
      {
        sqlRevdBulkCopy.DestinationTableName = "csv_DataTable";//数据库中对应的表名

        sqlRevdBulkCopy.NotifyAfter = dtcsv.Rows.Count;//有几行数据
        sqlRevdBulkCopy.WriteToServer(dtcsv.Select(""));//数据导入数据库
        sqlRevdBulkCopy.Close();//关闭连接
      }
    }

    2:写入SQL数据库方法2

    string ConStr = "Data Source=KY6XMUWY833KV6M;Initial Catalog=CSVSQL;Integrated Security=True";

    try
    {
      using (SqlConnection con = new SqlConnection(ConStr))
    {
    con.Open();
    using (SqlTransaction stran = con.BeginTransaction())
    {
      StringBuilder sql = new StringBuilder();
      sql.Append("insert into csv_DataTable(A001,A000,A200,A102,A100,STATUS) values");
      sql.Append("(@A001,@A000,@A200,@A102,@A100,@STATUS)");
      foreach (DataRow dr in dtcsv.Rows)
      {
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = sql.ToString();
        cmd.Transaction = stran;
        cmd.Parameters.Add("@A001", SqlDbType.NVarChar, 2000).Value = dr["A001"];
        cmd.Parameters.Add("@A000", SqlDbType.NVarChar, 2000).Value = dr["A000"];
        cmd.Parameters.Add("@A200", SqlDbType.NVarChar, 2000).Value = dr["A200"];
        cmd.Parameters.Add("@A102", SqlDbType.NVarChar, 2000).Value = dr["A102"];
        cmd.Parameters.Add("@A100", SqlDbType.NVarChar, 2000).Value = dr["A100"];
        cmd.Parameters.Add("@STATUS", SqlDbType.NVarChar, 2000).Value = dr["STATUS"];
        cmd.ExecuteNonQuery();
        }
        stran.Commit();
      }
    }

  • 相关阅读:
    Android 去除最上面应用名称及图标
    Android 仿QQ消息界面
    多线程断点续传及下载
    android 断点下载---XUtils
    Android判断网路是否畅通加权限
    Android_按两次返回键退出程序和长按返回键退出程序
    Android JPush(极光推送)的使用教程
    使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
    Entity Framework 6连接Oracle、Postgresql、SQLite、LocalDB数据库字符串详解
    Fluent Nhibernate 数据库配置
  • 原文地址:https://www.cnblogs.com/liuruipeng/p/7593315.html
Copyright © 2011-2022 走看看