怎么往mysql批量存数据库_如何将批量的数据存入SQL数据库中

展开全部

在一些数据量比较大,而且操作数据库频繁的。此时需要将e69da5e887aa3231313335323631343130323136353331333361326233数据表datatable整块的存入数据库中。

不多说,直接上代码:

首先得新建一个数据库

DataTable once_rec_date = new DataTable();

这个数据库得跟目标数据库的列的位置和大小都得一样。特别是类型,和位置。

就是列的位置和目标数据库的位置,顺序得 一模一样。因为都是块存储,所以地址什么的都得一样,千万不能少一列,自增列可以空在那边。

在初始化中初始化该表

                once_rec_date.Columns.Add("id", typeof(int));

once_rec_date.Columns.Add("RevData_cmd", typeof(int));

once_rec_date.Columns.Add("Node", typeof(int));

once_rec_date.Columns.Add("Data", typeof(String));

once_rec_date.Columns.Add("Ssingle", typeof(int));

once_rec_date.Columns.Add("IsWiressData", typeof(int));

once_rec_date.Columns.Add("Datatime", typeof(DateTime));

once_rec_date.Columns.Add("Receivetime", typeof(DateTime));

once_rec_date.Columns.Add("IsMatch", typeof(int));

 
 

初始化之后,在程序中填充该datatable

                DataRow newrow = once_rec_date.NewRow();

newrow["RevData_cmd"] = cmd;

newrow["Node"] = Nodeid;

newrow["Data"] = datastring;

newrow["IsWiressData"] = IsWiress;

newrow["Ssingle"] = 1;

newrow["Datatime"] = datatime;

newrow["Receivetime"] = time1;

newrow["IsMatch"] = 3;

once_rec_date.Rows.Add(newrow);

return true;

再在程序结束的时候调用下面的函数

AddDatatableToSQL

该函数主要实现块存储,整datatable

 
 
        ///-----------------------------------------------------------------*

///                                                        *

/// 功    能:将数据表批量存入到数据库中                             *

/// 函数调用:SqlBulkCopy                                            *

///                                                       *

/// 数据类型                      *

///-----------------------------------------------------------------*

public bool AddDatatableToSQL(DataTable ScrTable)

{

using (SqlConnection thisConn = new SqlConnection(ConnectionStr))

{

try

{

if (thisConn.State == ConnectionState.Closed)

{

thisConn.Open();

}

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(thisConn))

{

bulkCopy.DestinationTableName = "RevData";//这里的数据库名字可以更改,或者通过传参传进去.

try

{

bulkCopy.WriteToServer(ScrTable);

return true;

}

catch

{

return false;

}

finally

{

thisConn.Close();

}

}

}

catch

{

}

}//end using

return false;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值