使用ADO.NET高速向SqlServer中插入数据

xiaoxiao2021-02-28  31

高速向数据库中插入数据

如果id使用GUID,要注意了,GUID生成的36位唯一标识

------------------------------------------------------------

            bool b = false;

            Console.WriteLine(Convert.ToInt32(b));

测试得知,C#中bool类型true是1,falses是0。

而SQLSERVER数据库中,bit类型true是1,false是0

//往数据库写入bit值,不支持0/1,只支持true/false

往数据库写入bit值,不支持0/1,只支持true/false

注意的是:内存表类型最好和数据库类型对应。最好是将主键的自动增长取消。现在一般也没有采用自动增长做主键了

---------------------------------------------------------------------

            //一次性把所有数据都插入进去,将所有的数据都放入到datatable中,然后一次性提交给数据库

            DataTable table = new DataTable();    //先建立一个空表             table.Columns.Add("UserId");             table.Columns.Add("username");             table.Columns.Add("password");             table.Columns.Add("age");             table.Columns.Add("Mail");             table.Columns.Add("Phone");             table.Columns.Add("status");             //使用循环将数据填充到空表中             for (int i = 15; i <= 1000; i++)             {                 DataRow row = table.NewRow();                 row["UserId"] = i + "d";                 row["username"] = "Test" + i;                 row["password"] = i.ToString();                 row["age"] = i;                 row["Mail"] = i + "aa@qq.com";                 row["Phone"] = i.ToString();

                row["status"] = true;

//这里的判断多余,反正是测试数据,直接写死true

                /*if (i % 2 == 0)

                {                     row["status"] = true;                 }                 else                 {                     row["status"] = false;                 }*/                 table.Rows.Add(row);             }             string conn = "Server=127.0.0.1;Database=Test;user id=sa;password=789654";             using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))             {                 bulkCopy.DestinationTableName = "t_users";//表名                 bulkCopy.ColumnMappings.Add("UserId", "UserId");                 bulkCopy.ColumnMappings.Add("username", "UserName");//第一个是table中的列,第二个是数据库中的列,区分大小写                 bulkCopy.ColumnMappings.Add("password", "PassWord");                 bulkCopy.ColumnMappings.Add("age", "Age");                 bulkCopy.ColumnMappings.Add("Mail", "Mail");                 bulkCopy.ColumnMappings.Add("Phone", "Phone");                 bulkCopy.ColumnMappings.Add("status", "Status");//往数据库写入bit值,不支持0/1,只支持true/false                 bulkCopy.WriteToServer(table);             }             Console.WriteLine("OK");             Console.ReadKey();
转载请注明原文地址: https://www.6miu.com/read-2620468.html

最新回复(0)