C# DataGridView插入DB
public static bool ContrastColumns(DataColumnCollection co1, DataGridViewColumnCollection co2)
{
bool aa = false;
if (co1.Count == co2.Count)
{
for (int i = ; i < co1.Count; i++)
{
if (co1[i].Caption != co2[i].Name)
{
aa = false;
break;
}
else
{
aa = true;
}
}
return aa;
}
else
return false;
} public static string DataGridViewToDB(DataGridView DGV, string connstr, string Tablestr)
{
int aa = ;
string mycmd = "select * from " + Tablestr;
DataTable dt = SqlHelper.SQLCommand<DataTable>(mycmd, connstr); if (ContrastColumns(dt.Columns, DGV.Columns))
{
StringBuilder sb = new StringBuilder();
sb.Append("insert into " + Tablestr + "("); for (int i = ; i < DGV.ColumnCount; i++)
{
if (i == DGV.ColumnCount - )
{
sb.Append(DGV.Columns[i].Name + ") values (");
}
else
{
sb.Append(DGV.Columns[i].Name + ",");
}
} foreach (DataGridViewRow dgvRow in DGV.Rows)
{
StringBuilder mysb = new StringBuilder();
mysb.Append("select * from " + Tablestr + " where "); StringBuilder sb2 = new StringBuilder();
for (int i = ; i < dgvRow.Cells.Count; i++)
{
if (i == )
{
mysb.Append(DGV.Columns[i].Name + "='" + dgvRow.Cells[i].Value + "'");
}
else
{
mysb.Append(" and " + DGV.Columns[i].Name + "='" + dgvRow.Cells[i].Value + "'");
} if (i == dgvRow.Cells.Count - )
{
sb2.Append("'" + dgvRow.Cells[i].Value + "')");
}
else
{
sb2.Append("'" + dgvRow.Cells[i].Value + "',");
}
}
string sqlcmd = sb.ToString() + sb2.ToString(); try
{
DataTable mydt = SqlHelper.SQLCommand<DataTable>(mysb.ToString(), connstr);
if (mydt.Rows.Count == )
{
SqlHelper.SQLCommand<int>(sqlcmd, connstr);
aa++;
}
}
catch (Exception ee)
{
ee.ToString();
}
}
return "迁移成功:共" + aa.ToString() + "条记录";
}
else
return "迁移失败:表头不匹配";
}
C# DataGridView插入DB的更多相关文章
- jmeter读取执行case插入DB生成报表和备份记录
前言:由于通过jmeter写的接口自动化木有数据导入和统计分析功能,因此做了2次开发,目的是读取每条case获取接口名称和用例名称,通过获取的case执行结果进行计算,得到详细接口的用例通过率存入DB ...
- jmeter执行case结果插入DB数据优化
访问初始实现路径:jmeter执行case结果插入DB生成报表和备份记录 借前面实现导入DB数据先说明之前数据的缺点: 第一,若需要依赖接口的数据,会把依赖接口的case统计进去造成数据统计错误.第二 ...
- jmeter执行case结果插入DB生成报表和备份记录
前言:由于通过jmeter写的接口自动化木有数据导入和统计分析功能,因此做了二次开发,目的是读取每条case获取接口名称和用例名称,通过获取的case执行结果进行计算,得到详细接口的用例通过率存入DB ...
- C#/.NET使用HttpWebRequest、SqlBulkCopy从API获取数据批量插入DB
小弟新手程序员一枚,代码技术和文章水平均不才.所写文章均为对自己所写所学代码的简单记录,可能对于老手程序员营养价值不高,望莫见怪. 我工作上有个需求:从某处API接口上获取数据(大约1W条而已)并插入 ...
- linux下Java程序中插入DB中国的数据乱码问题
首先,插入到DB数据,在Linux在查询时,现场展示??. 再次,在windows连接到db上,查看的结果并非乱码. 改动Eclipse软件中的编码:如上图:windows菜单->prefere ...
- DataGridView插入一行数据和用DataTable绑定数据2种方式
以前不会用DataGridView的时候一直使用DataTable绑定的方式,如下: DataTable table = new DataTable(); //给表添加一列Name,此名字和 tabl ...
- 简单的批量读取外部insert文并插入DB
package com.tongxiang.item.base.dao; import java.io.BufferedReader; import java.io.File; import java ...
- 如何处理高并发情况下的DB插入
1. 我们需要接收一个外部的订单,而这个订单号是不允许重复的 2. 数据库对外部订单号没有做唯一性约束 3. 外部经常插入相同的订单,对于已经存在的订单则拒绝处理 对于这个需求,很简单我们会用下 ...
- Berkeley DB
最近用BDB写点东西,写了挺多个测试工程.列下表,也理清楚最近的思路 1.测试BDB程序,包括打开增加记录,查询记录,获取所有记录.将数据转存mysql 程序的不足,增加记录仅仅只有key和value ...
随机推荐
- 在手机的浏览器上通过连接打开App
Android系统中实现 1.在系统系统自带的浏览器中 首先做成HTML的页面,页面内容格式如下: <a href="[scheme]://[host]/[path]?[query]& ...
- 第一个FPGA工程—LED流水灯
这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...
- SciPy模块应用
1.图像模糊 图像的高斯模糊是非常经典的图像卷积例子.本质上,图像模糊就是将(灰度)图像I 和一个高斯核进行卷积操作:,其中是标准差为σ的二维高斯核.高斯模糊通常是其他图像处理操作的一部分,比如图像 ...
- 从Linux内核中获取真随机数【转】
转自:http://www.cnblogs.com/bigship/archive/2010/04/04/1704228.html 内核随机数产生器 Linux内核实现了一个随机数产生器,从理论上说这 ...
- kafka系列五、kafka常用java API
引入maven包 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka- ...
- C++:STL vector:sizeof(vector)
原文地址:http://blog.csdn.net/zcsylj/article/details/7857009 int的大小是4,定义vector<int> vec,vec中有一个元素, ...
- vue系列之Vue-cli
Vue-cli是Vue的脚手架工具 vue-cli 地址:https://github.com/vuejs/vue-cli 安装 npm install -g vue-cli 使用 vue init ...
- 《java程序设计》结对编程-四则运算(第一周-阶段总结)
一.需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: - 自动生成小学四则运算题目(加,减,乘,除) - 支持整数 - 支持多运算符(比如生成包含100个运算符的题目 ...
- xcode 8 清除无用的打印
OS_ACTIVITY_MODE disable 虽然模拟器这样写能屏蔽掉无用的打印,但是在真机测试的时候什么都不会打印 Nslog 也打印不出来 , 这时候就要点掉 OS_ACTIVIT ...
- vue-swiper的使用
写博客不是我的爱好,只是人脑毕竟空间只有那么大,有时候会忘了,好记性不如烂笔头,所以通过博客记录点点滴滴,以后可以翻出来看. vue-awesome-swiper官网链接https://www.npm ...