从XML文档中读取数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立方法类
# region 供应商基本信息
///
/// Created By:张建兵
/// Created Date:2011-7-12
/// Description:供应商基本信息
///
public class Vendor
{
///
/// 下载供应商信息 张建兵 2011-7-12
///
public void DownVendor()
{
//定义字符类型变量,并赋值文件路径地址
string fileposition = @"D:\上海百红项目(MA)\XML文件示例\ZVENDOR_ZVENDOR01_XX_00198351_20110628.xml";
//读取XML文件数据信息
DataSet ds = CommonFunc.ReadXML(fileposition);
DataTable sourceData = ds.Tables[2];
//判断是否存在货品信息
if (sourceData.Rows.Count == 0 || sourceData.Columns.Count == 0)
{
return;
}
// 获取版本号
string version = CommonFunc.GetVersion();
//追加版本号列、文件名
sourceData = CommonFunc.ModifyDT(sourceData, version, fileposition);
//建立数据库连接
using (SqlConnection conn = new SqlConnection(DataAccess.SqlHelperExtension.GetConnectionStr()))
{
//打开数据库连接
conn.Open();
using (SqlTransaction trans = conn.BeginTransaction())
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, trans))
{
try
{
//每批处理数据的行数
bulkCopy.BatchSize = CommonFunc.GetBatchSize();
//建立原表和目的表之间列的映射关系
bulkCopy.ColumnMappings.Add("LIFNR", "VENDOR"); //供应商编号
bulkCopy.ColumnMappings.Add("NAME", "VENDOR_NAME");//供应商名称
bulkCopy.ColumnMappings.Add("STR_SUPPL1", "ADDRESS1");//供应商地址
bulkCopy.ColumnMappings.Add("VERSION", "VERSION");// 版本号
bulkCopy.ColumnMappings.Add("FILENAME", "FILENAME");// 文件名
//指定插入操作的目标表名称
bulkCopy.DestinationTableName = "IF_VENDOR";
//写入目标表
bulkCopy.WriteToServer(sourceData);
//提交事务
mit();
CommonFunc.BusinessOperate("[TRAN_DOWN_VENDOR]", version);
}
catch (Exception ex)
{
trans.Rollback();//回滚事务
throw ex;//抛出异常
}
}
}
}
}
}
#endregion
然后调用类添加数据到数据库中
#region 下载供应商信息
private void btVendor_Click(object sender, EventArgs e)
{
Vendor vendor = new Vendor();
vendor.DownVendor();
}
#endregion