使用list方法插入datatable中的数据到数据库

前提:datatable里有值,数据库中有相应的表

一、list,string方法

            List<string> lstSql = new List<string>();
            for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string ticketNo = dt.Rows[i]["票号"].ToString();
                    string actualcollect = dt.Rows[i]["实收款"].ToString().Replace("-", "");
                    string issueDate = Convert.ToDateTime(dt.Rows[i]["出票日期"].ToString()).ToString("yyyy-MM-dd").Replace("-", "");
                    string refundCharge = dt.Rows[i]["退票手续费(航空公司)"].ToString();
                    string approvalStatus = dt.Rows[i]["审核状态"].ToString();
                    sql = "insert into CMB_Refund_TktNo_Ref(OnlineRecordTicketNo,Actualcollect,IssueDate,ApprovalStatus,RefundCharge)"
                        + " values('{0}','{1}','{2}','{3}','{4}') ";
                    sql = string.Format(sql, ticketNo, actualcollect, issueDate, approvalStatus, refundCharge);
                    lstSql.Add(sql);
                }
                Hippo.ExecuteSqlTran(cmd);
               lstSql.Clear();

执行方法

       public static int ExecuteSqlTran(List<String> SQLStringList)
        {
            using (SqlConnection conn = new SqlConnection(connectionS
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我可以为您解答这个问题。首先让我们来看一下如何进行 SQL Server 的批量插入SQL Server 批量插入数据库: 在 SQL Server ,我们可以使用 BulkCopy 类来实现批量插入数据库。BulkCopy 类可以将数据从一个数据源快速地复制到另一个数据源。下面是一个使用 BulkCopy 类进行批量插入的示例代码: ```csharp using System.Data.SqlClient; using System.Data; // ... // 创建连接字符串 string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; // 创建 DataTable 并填充数据 DataTable dataTable = new DataTable(); // 添加列 dataTable.Columns.Add("Id", typeof(int)); dataTable.Columns.Add("Name", typeof(string)); // 添加数据 dataTable.Rows.Add(1, "张三"); dataTable.Rows.Add(2, "李四"); // 执行批量插入操作 using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlTransaction transaction = connection.BeginTransaction()) { using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection, SqlBulkCopyOptions.Default, transaction)) { // 设置目标表名 bulkCopy.DestinationTableName = "dbo.TestTable"; // 设置映射关系 bulkCopy.ColumnMappings.Add("Id", "Id"); bulkCopy.ColumnMappings.Add("Name", "Name"); // 执行批量插入 bulkCopy.WriteToServer(dataTable); } transaction.Commit(); } } ``` 在以上代码,我们首先创建了一个 DataTable,并填充了一些数据。然后使用 BulkCopy 类进行批量插入操作,将 DataTable 数据插入数据库的 TestTable 表List<T> 与 Model 相互转换配合使用: 在开发,我们经常需要将 List<T> 和 Model 之间进行相互转换。下面是一个使用 AutoMapper 库进行转换的示例代码: ```csharp using AutoMapper; // ... // 定义 Model 类 public class User { public int Id { get; set; } public string Name { get; set; } } // 定义 DTO 类 public class UserDto { public int Id { get; set; } public string Name { get; set; } } // 初始化 AutoMapper Mapper.Initialize(cfg => cfg.CreateMap<User, UserDto>().ReverseMap()); // 将 List<User> 转换为 List<UserDto> List<User> userList = new List<User>() { new User() { Id = 1, Name = "张三" }, new User() { Id = 2, Name = "李四" }, }; List<UserDto> userDtoList = Mapper.Map<List<User>, List<UserDto>>(userList); // 将 UserDto 转换为 User UserDto userDto = new UserDto() { Id = 1, Name = "张三" }; User user = Mapper.Map<UserDto, User>(userDto); ``` 在以上代码,我们首先定义了一个 User 和一个 UserDto 类,它们之间的属性基本相同。然后使用 AutoMapper 进行转换操作,将 List<User> 转换为 List<UserDto>,以及将 UserDto 转换为 User。 希望以上内容能够对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值