如何将批量的数据存入SQL数据库中

如何将批量的数据存入SQL数据库中,第1张

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

不多说,直接上代码:

首先得新建一个数据库

DataTable once_rec_date = new DataTable()

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

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

在初始化中初始化该表

<pre name="code" class="csharp">                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))</pre><br>  

<p></p>  

<pre></pre>  

<span style="font-size:18px">初始化之后,在程序中填充该datatable<br>  

</span><br>  

<p></p>  

<p></p><pre name="code" class="csharp">                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</pre><br>  

再在程序结束的时候调用下面的函数<pre name="code" class="csharp" style="background-color: rgb(255, 255, 255) ">AddDatatableToSQL</pre><p></p>  

<p>该函数主要实现块存储,整datatable</p>  

<p><br>  

</p>  

<p></p>  

<pre name="code" class="html" style="background-color: rgb(255, 255, 255) font-size: 18px "></pre><pre name="code" class="csharp">        ///-----------------------------------------------------------------*  

        /// <summary>                                                       *  

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

        /// 函数调用:SqlBulkCopy                                            *  

        /// </summary>                                                      *  

        /// <param name="frameStruct">数据类型</param>                      *  

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

        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  

  

  

        }  

</pre><br>  

<p><br>  

</p>

在数据库中批量插入数据的方法及其步骤:

1、打开设备中的数据库,并点击数据库页面左边的“编辑前200行”进入其中。

2、在“编辑前200行”的页面中,会显示出表中的列和图中的列是相互对应的几列数据。

3、点击上一步显示出的几列数据,并进行手动数据添加 *** 作。

4、数据添加完毕之后,在表中右击选择执行。

5、执行完毕之后,即成功在数据库中批量插入数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6764256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存