在winform中有一个DataGridview,数据源是在代码中自定义的datatable,这个DataTable(符合目标数据库的结构),在datagridview中填充了数据后,有没有高效的方法写入sqlserver数据库,现在已有的办法是把DataTable当成多维数组,循环遍历使用Insert语句插入,但这样DataTable没有发挥自身的特点。另一种方法是使用SqlBulkCopy()类,将DataTable做为源,但如果数据量不大,似乎这种方法效率不高,请问还有其他什么方法???
解决方案 »
- ftp操作里提示方法必须具有返回类型,哪位知道怎么解呀?
- C# 读取RS-485串口,工作原理是怎么样的,高分求教
- C#里WinForm怎么更新SQL数据库啊?
- int跟object类型转换的问题!
- 求一个DATALIST中添加控件问题(在线等)谢!急
- 请高手指点,一个很怪的数据库操作问题~!
- 怎样删除Excel中的数据
- 有谁熟悉字符串拆分的 请帮帮忙 急啊。。。。。。。
- Global错误问题,帮我看看是什么回事???
- 急问:c#如何在Access表中添加列
- C#按回车焦点从textbox1到textbox2如何实现呢?
- C#程序如何使用SQL Server2005的语句截取wendosXP系统的当前日期
Static DataSet dsDetail = new DataSet();
DataTable dt = dsDetail.Tables.Add("newTables");
private void w_store_in_Load(object sender, EventArgs e)
{
DataColumn CurrentState = dt.Columns.Add("CurrentState", typeof(string));
DataColumn NewState = dt.Columns.Add("NewState", typeof(string));
DataColumn GoodsNo = dt.Columns.Add("GoodsNo", typeof(string));
DataColumn KindNo = dt.Columns.Add("KindNo", typeof(string));
DataColumn ShopsignNo = dt.Columns.Add("ShopsignNo", typeof(string));
DataColumn PackNum = dt.Columns.Add("PackNum", typeof(string));
DataColumn ProareaNo = dt.Columns.Add("ProareaNo", typeof(string));
DataColumn GoodsOwnerPackNum = dt.Columns.Add("GoodsOwnerPackNum", typeof(string));
DataColumn GradeNum = dt.Columns.Add("GradeNum", typeof(string));
DataColumn InNetweight = dt.Columns.Add("InNetweight", typeof(decimal));
DataColumn InGrossWeight = dt.Columns.Add("InGrossWeight", typeof(decimal));
DataColumn SheetNum = dt.Columns.Add("SheetNum", typeof(decimal));
DataColumn OwnerNo = dt.Columns.Add("OwnerNo", typeof(string));
DataColumn GoodsLoc = dt.Columns.Add("GoodsLoc", typeof(string));
CurrentState.MaxLength = 2;
//设置表主键
GoodsNo.Unique = true;
GoodsNo.AllowDBNull = false; dt.NewRow();
dsDetail.Tables[0].Rows.Add(dsDetail.Tables[0].NewRow());
dataGridView1.DataSource = dsDetail.Tables["newTables"];
dataGridView1.Columns["GoodsNo"].Visible = false;
dataGridView1.Columns["CurrentState"].HeaderText = "当前状态";
dataGridView1.Columns["NewState"].HeaderText = "新状态";
dataGridView1.Columns["GoodsNo"].HeaderText = "系统编号";
dataGridView1.Columns["KindNo"].HeaderText = "品种";
dataGridView1.Columns["ShopsignNo"].HeaderText = "钢种";
dataGridView1.Columns["PackNum"].HeaderText = "捆包";
dataGridView1.Columns["ProareaNo"].HeaderText = "产地";
dataGridView1.Columns["GoodsOwnerPackNum"].HeaderText = "货主捆包号";
dataGridView1.Columns["GradeNum"].HeaderText = "规格";
dataGridView1.Columns["InNetWeight"].HeaderText = "净重";
dataGridView1.Columns["InGrossWeight"].HeaderText = "毛重";
dataGridView1.Columns["OwnerNo"].HeaderText = "货主";
dataGridView1.Columns["GoodsLoc"].HeaderText = "库位";
dataGridView1.Columns["SheetNum"].HeaderText = "张数";
//字段格式化
dataGridView1.Columns["InNetWeight"].DefaultCellStyle.Format = "N3";
dataGridView1.Columns["InNetWeight"].DefaultCellStyle.Format = "N3";
}
望高手帮忙!