一、打开API资源管理器

替换两个引用

打开应用实例,选择相应的功能

复制相应的封装类到自己的目录下

在数据库新建临时表,与目标表相同

数据导入:

思路:先将要导入的数据导入到与U8目标表相同的临时表,再用API从临时表导入到U8目标表

//导入临时表-产成品入库、销售发货
public void ImportU8RdDis()
{
lb_info.Items.Add(DateTime.Now + " 生成开始.....");
lb_state.Text = "当前状态:正在生成数据,请勿操作..."; //从过磅记录表里查询所有未导入U8数据库的记录
List<ShippingInquiries> siListRdrecord = new List<ShippingInquiries>();
siListRdrecord = u8api.SelectAllNOu8Rdrecord10();
List<ShippingInquiries> siListSales = new List<ShippingInquiries>();
siListSales = u8api.SelectAllNOu8Sales(); //将榜单数据中未进行推送的数据,送到临时表,并执行导入U8
u8api.DeleteTemporaryTable();//插入临时表前清空之前的记录
//产成品入库
foreach (ShippingInquiries si in siListRdrecord)
{
int i = u8api.InsertU8Rdrecord10(si);//导入临时表
if (i > )
{
lb_info.Items.Add(DateTime.Now + " 正在生成过磅单的U8 <产成品> 单据,磅单编号为:" + si.NO);
bool ok_Rdrecord = U8Rdrecord10(i);//从临时表导入U8
if (ok_Rdrecord)
{
lb_info.Items.Add(DateTime.Now + " 磅单编号为:" + si.NO + "单据,生单成功");
u8api.UpdateToU8State(si.NO);
}
else
{
lb_info.Items.Add(DateTime.Now + " 磅单编号为:" + si.NO + "单据,生单失败!");
}
}
}
//发货单
foreach (ShippingInquiries si in siListSales)
{
int i = u8api.InsertU8Sales(si);//导入临时表
if (i > )
{
lb_info.Items.Add(DateTime.Now + " 正在生成过磅单的U8 <发货单> 单据,磅单编号为:" + si.NO);
bool ok_Sales = U8Sales(i);//从临时表导入U8
if(ok_Sales)
{
lb_info.Items.Add(DateTime.Now + " 磅单编号为:" + si.NO + "单据,生单成功");
u8api.UpdateToU8State(si.NO);
}
else
{
lb_info.Items.Add(DateTime.Now + " 磅单编号为:" + si.NO + "单据,生单失败!");
}
}
}
lb_info.Items.Add(DateTime.Now + " 生成结束");
lb_state.Text = "当前状态:生成数据完成,等待下一次生成开始";
}

先导入临时表,再导入U8

导入临时表代码

//将数据导入临时表-发货单表
public int InsertU8Sales(ShippingInquiries si)
{
int i = ;
conn.Open();
try
{
cmd.CommandText = "insert into TWKF_Sales_T(ivouchstate,csysbarcode,bsaleoutcreatebill,cbustype,ivtid,cdlcode,cvouchtype,cvouchname,cstcode,cstname,ddate,cdepcode,cdepname,ccuscode,ccusabbname,cexch_name,iexchrate,itaxrate,cdefine1,cDefine2,breturnflag,cverifier,cmaker,icuscreline,bfirst,sbvid,dverifydate,isale,ccusname,clastcusname,clastcustname,cauthid,brequestsign,iflowid,billafterlosssettle,bcusinvlimited,bbillbluesalelist,bbillredsalelist,bcredit,bcreditdate,bmustbook,ccreditcuscode,ccreditcusname,ioutgolden,iverifystate,iswfcontrolled,dcreatesystime,dverifysystime,bcashsale,bsigncreate,bneedbill,iprintcount,cinvoicecompany,cinvoicecompanyabbname,baccswitchflag,ccccode,bcal,zdsum,linenum,bnottogoldtax) values(@ivouchstate,@csysbarcode,@bsaleoutcreatebill,@cbustype,@ivtid,@cdlcode,@cvouchtype,@cvouchname,@cstcode,@cstname,@ddate,@cdepcode,@cdepname,@ccuscode,@ccusabbname,@cexch_name,@iexchrate,@itaxrate,@cdefine1,@cDefine2,@breturnflag,@cverifier,@cmaker,@icuscreline,@bfirst,@sbvid,@dverifydate,@isale,@ccusname,@clastcusname,@clastcustname,@cauthid,@brequestsign,@iflowid,@billafterlosssettle,@bcusinvlimited,@bbillbluesalelist,@bbillredsalelist,@bcredit,@bcreditdate,@bmustbook,@ccreditcuscode,@ccreditcusname,@ioutgolden,@iverifystate,@iswfcontrolled,@dcreatesystime,@dverifysystime,@bcashsale,@bsigncreate,@bneedbill,@iprintcount,@cinvoicecompany,@cinvoicecompanyabbname,@baccswitchflag,@ccccode,@bcal,@zdsum,@linenum,@bnottogoldtax);select @@IDENTITY;";
cmd.Parameters.Clear();
cmd.Parameters.Add("@ivouchstate", "Approved");//单据状态
cmd.Parameters.Add("@csysbarcode", "||SA01|0000000001");//单据条码
cmd.Parameters.Add("@bsaleoutcreatebill","");//销售出库开票标识
cmd.Parameters.Add("@cbustype", "普通销售");//业务类型
cmd.Parameters.Add("@ivtid", "");//单据模版号
cmd.Parameters.Add("@cdlcode", "");//发货退货单号
cmd.Parameters.Add("@cvouchtype", "");//单据类型编码
cmd.Parameters.Add("@cvouchname", "发货单");//单据类型名称
cmd.Parameters.Add("@cstcode", "");//销售类型编码
cmd.Parameters.Add("@cstname", "西坡石厂销售");//销售类型名称
cmd.Parameters.Add("@ddate", si.GrossWeightTime);//单据日期
cmd.Parameters.Add("@cdepcode", si.cInvCode.Substring(, ));//部门编码
cmd.Parameters.Add("@cdepname", "总经办");//部门名称//通过哪个表由部门编码查询部门名称▲▲▲▲▲▲▲▲
cmd.Parameters.Add("@ccuscode", si.cCusCode);//客户编码
cmd.Parameters.Add("@ccusabbname", si.ReceivingUnit);//客户简称
cmd.Parameters.Add("@cexch_name", "人民币");//币种名称
cmd.Parameters.Add("@iexchrate", "");//汇率
cmd.Parameters.Add("@itaxrate", "");//表头税率
cmd.Parameters.Add("@cDefine1", si.ReceivingUnit);//收货单位
cmd.Parameters.Add("@cDefine2", si.NO);//榜单单号
cmd.Parameters.Add("@breturnflag", "");//退货标志
cmd.Parameters.Add("@cverifier", "demo");//审核人
cmd.Parameters.Add("@cmaker", "demo");//制单人
cmd.Parameters.Add("@icuscreline", "");//信用额度
cmd.Parameters.Add("@bfirst", "");//销售期初标志
cmd.Parameters.Add("@sbvid", "");//销售发票主表标识
cmd.Parameters.Add("@dverifydate", si.GrossWeightTime);//审核日期
cmd.Parameters.Add("@isale", "");//是否先发货
cmd.Parameters.Add("@ccusname", si.ReceivingUnit);//客户名称
cmd.Parameters.Add("@clastcusname", si.ReceivingUnit);
cmd.Parameters.Add("@clastcustname", si.ReceivingUnit);
cmd.Parameters.Add("@cauthid", si.cCusCode);//权限ID
cmd.Parameters.Add("@brequestsign", "");//请求标识
cmd.Parameters.Add("@iflowid", "");//流程id
cmd.Parameters.Add("@billafterlosssettle", "");//必须签回处理完成才能开票(签回)
cmd.Parameters.Add("@bcusinvlimited", "");//允许限销控制
cmd.Parameters.Add("@bbillbluesalelist", "");//销售发货单/退货单(蓝票)
cmd.Parameters.Add("@bbillredsalelist", "");//销售发货单/退货单(红票)
cmd.Parameters.Add("@bcredit", "否");//是否控制信用额度
cmd.Parameters.Add("@bcreditdate", "");//是否控制信用期限
cmd.Parameters.Add("@bmustbook", "");//必有定金
cmd.Parameters.Add("@ccreditcuscode", si.cCusCode);//信用单位编号
cmd.Parameters.Add("@ccreditcusname", si.ReceivingUnit);//信用单位名称
cmd.Parameters.Add("@ioutgolden", "");//金税导出次数
cmd.Parameters.Add("@iverifystate", "");//系统保留
cmd.Parameters.Add("@iswfcontrolled", "");//启用工作流
cmd.Parameters.Add("@dcreatesystime", si.GrossWeightTime);//制单时间
cmd.Parameters.Add("@dverifysystime", si.GrossWeightTime);//审核时间
cmd.Parameters.Add("@bcashsale", "");//现款结算
cmd.Parameters.Add("@bsigncreate", "");//签回损失生成
cmd.Parameters.Add("@bneedbill", "");//是否需要开票
cmd.Parameters.Add("@iprintcount", "");//打印次数
cmd.Parameters.Add("@cinvoicecompany", si.cCusCode);//开票单位
cmd.Parameters.Add("@cinvoicecompanyabbname", si.ReceivingUnit);//开票单位简称
cmd.Parameters.Add("@baccswitchflag", "");//存货选项切换
cmd.Parameters.Add("@ccccode", si.cInvCode.Substring(, ));
cmd.Parameters.Add("@bcal", "");//折算方式
cmd.Parameters.Add("@zdsum", "0.00");//zdsum
cmd.Parameters.Add("@linenum", "");//linenum
cmd.Parameters.Add("@bnottogoldtax", "");//不导出到金税 i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > )
{
cmd.CommandText = "insert into TWKF_Sales_W(cwhcode,cinvcode,bservice,cinvname,cinvstd,cinvm_unit,igrouptype,cgroupcode,cbsysbarcode,iquantity,iquotedprice,itaxunitprice,iunitprice,imoney,itax,idiscount,dlid,inatunitprice,inatmoney,inattax,inatsum,inatdiscount,isum,binvbatch,cwhvaluestyle,bfree1,bfree2,bfree3,bfree4,bfree5,bfree6,bfree7,bfree8,bfree9,bfree10,bsalepricefree1,bsalepricefree2,bsalepricefree3,bsalepricefree4,bsalepricefree5,bsalepricefree6,bsalepricefree7,bsalepricefree8,bsalepricefree9,bsalepricefree10,bbatchcreate,bbatchproperty1,bbatchproperty2,bbatchproperty3,bbatchproperty4,bbatchproperty5,bbatchproperty6,bbatchproperty7,bbatchproperty8,bbatchproperty9,bbatchproperty10,ivolume,kl,kl2,binvtype,itb,binvquality,cmassunit,itaxrate,cDefine22,idlsid,isettleprice,dkl1,dkl2,fsalecost,fsaleprice,cinvccode,bgsp,btrack,bSpecialties,bisstqc,foutquantity,bsettleall,csettleall,ccomunitcode,batomodel,bptomodel,bqaneedcheck,bgift,bsaleprice,bqaurgency,bqachecking,btracksalebill,bqachecked,iqaquantity,iqanum,fretsum,irowno,binvmodel,csrpolicy,fsumsignquantity,fsumsignnum,funsignquantity,fcusminprice,iexpiratdatecalcu,fretqtywkp,fretqtyykp,bcosting,bneedsign,bsignover,autoid2,bproxywh,tbquantity,dblpreexchmomey,dblpremomey,bcontrolserial,bserial,bneedloss,frlossqty,isettletype,bbatch,bcode,bmpforderclosed,fappretwkpqty,cinvcname,biacreatebill,fstockquan,fstockquano,fcanusequan,fcanusequano,fretailrealamount,fretailsettleamount,cDefine23,cDefine24) values(@cwhcode,@cinvcode,@bservice,@cinvname,@cinvstd,@cinvm_unit,@igrouptype,@cgroupcode,@cbsysbarcode,@iquantity,@iquotedprice,@itaxunitprice,@iunitprice,@imoney,@itax,@idiscount,@dlid,@inatunitprice,@inatmoney,@inattax,@inatsum,@inatdiscount,@isum,@binvbatch,@cwhvaluestyle,@bfree1,@bfree2,@bfree3,@bfree4,@bfree5,@bfree6,@bfree7,@bfree8,@bfree9,@bfree10,@bsalepricefree1,@bsalepricefree2,@bsalepricefree3,@bsalepricefree4,@bsalepricefree5,@bsalepricefree6,@bsalepricefree7,@bsalepricefree8,@bsalepricefree9,@bsalepricefree10,@bbatchcreate,@bbatchproperty1,@bbatchproperty2,@bbatchproperty3,@bbatchproperty4,@bbatchproperty5,@bbatchproperty6,@bbatchproperty7,@bbatchproperty8,@bbatchproperty9,@bbatchproperty10,@ivolume,@kl,@kl2,@binvtype,@itb,@binvquality,@cmassunit,@itaxrate,@cDefine22,@idlsid,@isettleprice,@dkl1,@dkl2,@fsalecost,@fsaleprice,@cinvccode,@bgsp,@btrack,@bSpecialties,@bisstqc,@foutquantity,@bsettleall,@csettleall,@ccomunitcode,@batomodel,@bptomodel,@bqaneedcheck,@bgift,@bsaleprice,@bqaurgency,@bqachecking,@btracksalebill,@bqachecked,@iqaquantity,@iqanum,@fretsum,@irowno,@binvmodel,@csrpolicy,@fsumsignquantity,@fsumsignnum,@funsignquantity,@fcusminprice,@iexpiratdatecalcu,@fretqtywkp,@fretqtyykp,@bcosting,@bneedsign,@bsignover,@autoid2,@bproxywh,@tbquantity,@dblpreexchmomey,@dblpremomey,@bcontrolserial,@bserial,@bneedloss,@frlossqty,@isettletype,@bbatch,@bcode,@bmpforderclosed,@fappretwkpqty,@cinvcname,@biacreatebill,@fstockquan,@fstockquano,@fcanusequan,@fcanusequano,@fretailrealamount,@fretailsettleamount,@cDefine23,@cDefine24)";
cmd.Parameters.Clear();
//cmd.Parameters.Add("@cwhname",);//仓库名称
cmd.Parameters.Add("@cwhcode","");//仓库编码
cmd.Parameters.Add("@cinvcode",si.cInvCode);//存货编码
cmd.Parameters.Add("@bservice","");//是否应税劳务
cmd.Parameters.Add("@cinvname",si.cInvName);//存货名称
cmd.Parameters.Add("@cinvstd",si.Specifications);//规格型号
cmd.Parameters.Add("@cinvm_unit","吨");//主计量单位
cmd.Parameters.Add("@igrouptype","");//计量单位组类别
cmd.Parameters.Add("@cgroupcode","");//计量单位组编码
cmd.Parameters.Add("@cbsysbarcode","||SA01|0000000001|1");//单据行条码
cmd.Parameters.Add("@iquantity",si.NetWeight);//数量
cmd.Parameters.Add("@iquotedprice",si.UnitPrice);//报价
cmd.Parameters.Add("@itaxunitprice",si.UnitPrice);//原币含税单价
cmd.Parameters.Add("@iunitprice",si.UnitPrice);//原币无税单价
cmd.Parameters.Add("@imoney",si.NetWeight*si.UnitPrice);//原币无税金额
cmd.Parameters.Add("@itax","0.00");//原币税额
cmd.Parameters.Add("@idiscount","0.00");//原币折扣额
cmd.Parameters.Add("@dlid",i);//发货退货单主表标识
cmd.Parameters.Add("@inatunitprice","1.0000000000");//本币无税单价
cmd.Parameters.Add("@inatmoney",si.NetWeight*si.UnitPrice);//本币无税金额
cmd.Parameters.Add("@inattax","0.00");//本币税额
cmd.Parameters.Add("@inatsum",si.NetWeight*si.UnitPrice);//本币价税合计
cmd.Parameters.Add("@inatdiscount","0.00");//本币折扣额
cmd.Parameters.Add("@isum",si.NetWeight*si.UnitPrice);//原币价税合计
cmd.Parameters.Add("@binvbatch","");//是否批次管理
cmd.Parameters.Add("@cwhvaluestyle","全月平均法");//计价方式
cmd.Parameters.Add("@bfree1","");//存货是否有自由项
cmd.Parameters.Add("@bfree2","");//存货是否有自由项
cmd.Parameters.Add("@bfree3","");//存货是否有自由项
cmd.Parameters.Add("@bfree4","");//存货是否有自由项
cmd.Parameters.Add("@bfree5","");//存货是否有自由项
cmd.Parameters.Add("@bfree6","");//存货是否有自由项
cmd.Parameters.Add("@bfree7","");//存货是否有自由项
cmd.Parameters.Add("@bfree8","");//存货是否有自由项
cmd.Parameters.Add("@bfree9","");//存货是否有自由项
cmd.Parameters.Add("@bfree10","");//存货是否有自由项
cmd.Parameters.Add("@bsalepricefree1","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree2","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree3","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree4","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree5","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree6","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree7","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree8","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree9","");//销售定价自由项
cmd.Parameters.Add("@bsalepricefree10","");//销售定价自由项
cmd.Parameters.Add("@bbatchcreate","");//是否建立批次档案
cmd.Parameters.Add("@bbatchproperty1","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty2","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty3","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty4","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty5","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty6","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty7","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty8","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty9","");//是否启用批次属性
cmd.Parameters.Add("@bbatchproperty10","");//是否启用批次属性
cmd.Parameters.Add("@ivolume","");//单位体积
cmd.Parameters.Add("@kl","100.0000000000");//扣率
cmd.Parameters.Add("@kl2","100.0000000000");//二次扣率
cmd.Parameters.Add("@binvtype","");//是否折扣
cmd.Parameters.Add("@itb","正常");//退补标志
cmd.Parameters.Add("@binvquality","");//是否保质期管理
cmd.Parameters.Add("@cmassunit","");//保质期单位
cmd.Parameters.Add("@itaxrate","0.0000000000");//税率
cmd.Parameters.Add("@cDefine22", si.CarCode);//车号
cmd.Parameters.Add("@idlsid","");//发货退货单子表标识2 ??????????????????????????
cmd.Parameters.Add("@isettleprice",si.UnitPrice);//结算单价
cmd.Parameters.Add("@dkl1","0.0000000000");//倒扣1
cmd.Parameters.Add("@dkl2","0.0000000000");//倒扣2
cmd.Parameters.Add("@fsalecost",si.UnitPrice);//零售单价
cmd.Parameters.Add("@fsaleprice",si.NetWeight*si.UnitPrice);//零售金额
cmd.Parameters.Add("@cinvccode",si.cInvCode.Substring(,));//存货大类编码
cmd.Parameters.Add("@bgsp","否");//是否质检
cmd.Parameters.Add("@btrack","");//是否出库跟踪入库
cmd.Parameters.Add("@bSpecialties","");//是否特殊药品
cmd.Parameters.Add("@bisstqc","");//库存期初标记
cmd.Parameters.Add("@foutquantity",si.SumNetWeight);//累计出库数量
cmd.Parameters.Add("@bsettleall","");//结算标志
cmd.Parameters.Add("@csettleall","未关闭");//关闭标志
cmd.Parameters.Add("@ccomunitcode","");//主计量单位编码(若要从表里查询,可以从qt_query_batchsn_ls中查询)
cmd.Parameters.Add("@batomodel","否");//是否ATO模型
cmd.Parameters.Add("@bptomodel","否");//是否PTO模型
cmd.Parameters.Add("@bqaneedcheck","否");//是否质检
cmd.Parameters.Add("@bgift","");//是否赠品
cmd.Parameters.Add("@bsaleprice","");//报价含税标识
cmd.Parameters.Add("@bqaurgency","否");//是否急料
cmd.Parameters.Add("@bqachecking","否");//是否在检
cmd.Parameters.Add("@btracksalebill","");//PE跟单
cmd.Parameters.Add("@bqachecked","否");//是否报检
cmd.Parameters.Add("@iqaquantity","0.0000000000");//检验合格数量
cmd.Parameters.Add("@iqanum","0.0000000000");//检验合格件数
cmd.Parameters.Add("@fretsum","0.000000000");//退货金额
cmd.Parameters.Add("@irowno","");//行号????????????????????????????????????????????????????????????
cmd.Parameters.Add("@binvmodel","否");//模型
cmd.Parameters.Add("@csrpolicy","PE");//供需政策
cmd.Parameters.Add("@fsumsignquantity","0.000000000");//签回数量
cmd.Parameters.Add("@fsumsignnum","0.000000000");//签回件数
cmd.Parameters.Add("@funsignquantity",si.NetWeight);//未签回数量
cmd.Parameters.Add("@fcusminprice","0.000000000");//客户最低售价 ????????????????????????????????????
cmd.Parameters.Add("@iexpiratdatecalcu","");//有效期推算方式
cmd.Parameters.Add("@fretqtywkp","0.000000000");//未开票退货数量
cmd.Parameters.Add("@fretqtyykp","0.000000000");//已开票退货数量
cmd.Parameters.Add("@bcosting","");//是否记账
cmd.Parameters.Add("@bneedsign","");//需要签回
cmd.Parameters.Add("@bsignover","");//发货签回完成
cmd.Parameters.Add("@autoid2",i);//发货单子表ID
cmd.Parameters.Add("@bproxywh","");//代管仓
cmd.Parameters.Add("@tbquantity","0.000000000");//退补数量
cmd.Parameters.Add("@dblpreexchmomey","0.000000");//预收款原币金额
cmd.Parameters.Add("@dblpremomey","0.000000");//预收款本币金额
cmd.Parameters.Add("@bcontrolserial", "");//控制序列号
cmd.Parameters.Add("@bserial", "");//是否有序列号管理
cmd.Parameters.Add("@bneedloss", "");//需要损失处理
cmd.Parameters.Add("@frlossqty", "0.000000");//合理损耗数量
cmd.Parameters.Add("@isettletype", "");//责任承担处理
cmd.Parameters.Add("@bbatch", "");//是否已指定批号
cmd.Parameters.Add("@bcode", "");//是否已指定入库单号
cmd.Parameters.Add("@bmpforderclosed", "");//订单关闭标识
cmd.Parameters.Add("@fappretwkpqty", "0.000000000");//未开票退货申请数量
cmd.Parameters.Add("@cinvcname", si.cInvName);//存货名称
cmd.Parameters.Add("@biacreatebill", "");//存货核算参照销售出库开票标识
cmd.Parameters.Add("@fstockquan", "0.000000000");//现存数量
cmd.Parameters.Add("@fstockquano", "0.000000000");//现存件数
cmd.Parameters.Add("@fcanusequan", "0.000000000");//可用数量
cmd.Parameters.Add("@fcanusequano", "0.000000000");//可用件数
cmd.Parameters.Add("@fretailrealamount", "0.000000000");//
cmd.Parameters.Add("@fretailsettleamount", "0.000000000");//
cmd.Parameters.Add("@cDefine23", si.TareTime.ToString());//进场时间
cmd.Parameters.Add("@cDefine24", si.CardNumber);//卡号 cmd.ExecuteNonQuery(); }
}
catch
{
conn.Close();
} finally
{
conn.Close();
} return i;
}

导入临时表代码,注意字段是否为空

U8API导入U8代码

/// <summary>
/// 发货单
/// </summary>
public bool U8Sales(int ID)
{
bool ok = false;
string Ex = "";
DispatchList.DispatchListAdd(U8Login, ID, out Ex);
if (Ex.Length == )
{
//lb_info.Items.Add("生成单据失败,原因如下:" + Ex);
}
else
{
ok = true;
}
return ok;
}

执行U8API

public static void DispatchListAdd(U8Login.clsLogin u8Login, int dlid, out string Ex)
{
string Ex0 = "";
//第二步:构造环境上下文对象,传入login,并按需设置其它上下文参数
U8EnvContext envContext = new U8EnvContext();
envContext.U8Login = u8Login; //销售所有接口均支持内部独立事务和外部事务,默认内部事务
//如果是外部事务,则需要传递ADO.Connection对象,并将IsIndependenceTransaction属性设置为false
//envContext.BizDbConnection = new ADO.Connection();
//envContext.IsIndependenceTransaction = false; //设置上下文参数
envContext.SetApiContext("VoucherType", ""); //上下文数据类型:int,含义:单据类型:9 //第三步:设置API地址标识(Url)
//当前API:新增或修改的地址标识为:U8API/Consignment/Save
U8ApiAddress myApiAddress = new U8ApiAddress("U8API/Consignment/Save"); //第四步:构造APIBroker
U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext); //第五步:API参数赋值 //给BO表头参数domHead赋值,此BO参数的业务类型为发货单,属表头参数。BO参数均按引用传递
//提示:给BO表头参数domHead赋值有两种方法 //方法一是直接传入MSXML2.DOMDocumentClass对象
//broker.AssignNormalValue("domHead", new MSXML2.DOMDocumentClass())
ADODB.Connection conn = new ADODB.ConnectionClass();
ADODB.Recordset rs = new ADODB.RecordsetClass(); MSXML2.DOMDocument domhead = new MSXML2.DOMDocumentClass(); string strConn = "Provider=SQLOLEDB;Initial Catalog=UFDATA_002_2014;Data Source=127.0.0.1;";
//string strConn = "Provider=SQLOLEDB;Initial Catalog=UFDATA_999_2017;Data Source=127.0.0.1;"; conn.Open(strConn, "sa", u8Login.SysPassword, );
string sql = "select top 1 * from TWKF_Sales_T where dlid='" + dlid + "'";
rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic, -); rs.Save(domhead, ADODB.PersistFormatEnum.adPersistXML);
U8APIHelper.FormatDom(ref domhead, "A");
broker.AssignNormalValue("DomHead", domhead);
domhead.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("dlid").nodeValue = ""; MSXML2.DOMDocument domBody = new MSXML2.DOMDocumentClass();
//domBody.RowCount = 1; ADODB.Connection conn1 = new ADODB.ConnectionClass();
ADODB.Recordset rs1 = new ADODB.RecordsetClass();
string strConn1 = "Provider=SQLOLEDB;Initial Catalog=UFDATA_002_2014;Data Source=127.0.0.1;";
//string strConn1 = "Provider=SQLOLEDB;Initial Catalog=UFDATA_999_2017;Data Source=127.0.0.1;"; conn1.Open(strConn1, "sa", u8Login.SysPassword, );
sql = "select top 1 * from TWKF_Sales_W where dlid='" + dlid + "'";
rs1.Open(sql, conn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic, -); rs1.Save(domBody, ADODB.PersistFormatEnum.adPersistXML);
U8APIHelper.FormatDom(ref domBody, "A");
broker.AssignNormalValue("domBody", domBody);
domBody.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("dlid").nodeValue = "";
domBody.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("autoid").nodeValue = ""; //给普通参数VoucherState赋值。此参数的数据类型为int,此参数按值传递,表示状态:0增加;1修改
broker.AssignNormalValue("VoucherState", ); //该参数vNewID为INOUT型普通参数。此参数的数据类型为string,此参数按值传递。在API调用返回时,可以通过GetResult("vNewID")获取其值
broker.AssignNormalValue("vNewID", ""); //给普通参数DomConfig赋值。此参数的数据类型为MSXML2.IXMLDOMDocument2,此参数按引用传递,表示ATO,PTO选配
MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocumentClass();
broker.AssignNormalValue("DomConfig", domMsg); //第六步:调用API
if (!broker.Invoke())
{
//错误处理
Exception apiEx = broker.GetException();
if (apiEx != null)
{
if (apiEx is MomSysException)
{
MomSysException sysEx = apiEx as MomSysException;
Ex0 += "系统异常:" + sysEx.Message;
//todo:异常处理
}
else if (apiEx is MomBizException)
{
MomBizException bizEx = apiEx as MomBizException;
Ex0 += "API异常:" + bizEx.Message;
//todo:异常处理
}
//异常原因
String exReason = broker.GetExceptionString();
if (exReason.Length != )
{
Ex0 += "异常原因:" + exReason;
}
}
//结束本次调用,释放API资源
broker.Release();
Ex = Ex0;
return;
} //第七步:获取返回结果 //获取返回值
//获取普通返回值。此返回值数据类型为System.String,此参数按值传递,表示成功返回空串
System.String result = broker.GetReturnValue() as System.String; //获取out/inout参数值 //获取普通INOUT参数vNewID。此返回值数据类型为string,在使用该参数之前,请判断是否为空
string vNewIDRet = broker.GetResult("vNewID") as string;
Ex0 += vNewIDRet; //结束本次调用,释放API资源
broker.Release();
Ex = Ex0;
return;
}

U8API

修改连接字符串和查询语句(注意大小写)

U8API——向U8数据库表导入数据的更多相关文章

  1. 将数据库表导入到solr索引

    将数据库表导入到solr索引 编辑solrcofnig.xml添加处理器 <requestHandler name="/dataimport" class="org ...

  2. ArcCatalog中通过ArcSDE向Oracle数据库中导入数据

    将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...

  3. MySQL数据库表的数据插入、修改、删除、查询操作及实例应用

    一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...

  4. C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示

    序言 众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数 ...

  5. asp.net 从Excel表导入数据到数据库中

    http://www.cnblogs.com/hfzsjz/archive/2010/12/31/1922901.html http://hi.baidu.com/ctguyg/item/ebc857 ...

  6. [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。

    利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...

  7. Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)

    目录 1 加入数据导入处理器的jar包 2 加入数据库驱动包 3 配置solrconfig.xml文件 3.1 配置lib标签 - 加入驱动jar包 3.2 配置requestHandler标签 - ...

  8. 我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令

    一.如果数据重要,请先备份数据 二.删除表中数据 SQL: Delete From ('表名')  如:Delete From abcd 三.执行新语句 SQL: dbcc checkident('表 ...

  9. Solr 创建core 从MySql数据库中导入数据

    一.创建数据表和数据 在MySql数据中创建mysolrInfo表, 创建字段 id 主键,自动增加 pname :姓名 age :年龄 addtime :增加时间 增加几条数据 二.创建core 当 ...

随机推荐

  1. Devexpress VCL Build v2014 vol 14.2.4 发布

    What's New in 14.2.4 (VCL Product Line)   New Major Features in 14.2 What's New in VCL Products 14.2 ...

  2. class和struct

    相同点 实际上可以使用这两个关键字定义任何一个类. 区别 1.struct的默认成员访问说明符为public,class的默认成员访问说明符为private(什么叫默认?就是没有写明public.pr ...

  3. gj9 迭代器和生成器

    9.1 python的迭代协议 list内部实现了__iter__()协议(魔法函数),是可迭代对象,但还不是迭代器(迭代器需要实现__next__协议) 生成器实现了__iter__(),__nex ...

  4. day4之装饰器进阶、生成器迭代器

    装饰器进阶 带参数的装饰器 # 某一种情况# 500个函数加装饰器, 加完后不想再加这个装饰器, 再过一个季度,又想加上去# 你可以设计你的装饰器,来确认是否执行 # 第一种情况 # 想要500个函数 ...

  5. Ubuntu14.04下安装Cuda8.0

    https://blog.csdn.net/sinat_19628145/article/details/60475696 https://developer.nvidia.com/cuda-down ...

  6. (树的直径)LightOJ -- 1094

    链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88230#problem/C 求树的直径,这里只不过给每条边增加一个边长属性,变成 ...

  7. Hdu2102 A计划 2017-01-18 14:40 60人阅读 评论(0) 收藏

    A计划 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  8. Eclipse的使用技巧

    Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率. 小坦克我花了一整天时间, 精选了一些常用的快捷键操作,并且精心录制了动画, 让你一看就会. ...

  9. hdu 4982 贪心构造序列

    http://acm.hdu.edu.cn/showproblem.php?pid=4982 给定n和k,求一个包含k个不相同正整数的集合,要求元素之和为n,并且其中k-1的元素的和为完全平方数 枚举 ...

  10. redis开机自启动脚本(linux)

    目前redis放在home下的文件夹中,写一个脚本,待系统启动的过程中,去启动该脚本. 脚本:redis.sh #!/bin/sh /home/juepei/Downloads/redis-3.0.0 ...