我正在尝试从大型XML文件中提取数据,并将相应的数据插入到SQL表中并生成报告。代码基本上遍历整个XML文档,并应从以BO结尾的各个节点中提取数据。
我正在使用存储的SQL过程,该过程最终将来自少数不同表的所需数据分组,然后插入到名为报告的最终表中。
但我很震惊的情况是,当我运行C#代码和存储过程时,表格不会显示任何结果。没有数据插入到SQL表中。这通常是我的第一个dot net项目,并习惯了C#编码。我正在尝试执行并接管我的同事项目,因为他被分配到离岸工作的不同项目。
对此的任何帮助将不胜感激!如果我的代码示例有点长,我会提前道歉。
public bool SaveNode(XmlNode Node, string proposalnumber, string quotenumber, string objectid)
{
StringBuilder strProposalBO = new StringBuilder();// 1
StringBuilder strQuoteBO = new StringBuilder(); // 2
StringBuilder strPremiumComponentBO = new StringBuilder(); // 3
StringBuilder strPremiumDetailBO = new StringBuilder(); // 4
StringBuilder strProductComponentBO = new StringBuilder(); // 5
StringBuilder strRoleBO = new StringBuilder(); // 6
StringBuilder strFormBO = new StringBuilder(); // 7
StringBuilder strTextBO = new StringBuilder(); // 8
StringBuilder strRiskBO = new StringBuilder(); // 9
StringBuilder strPropertyBO = new StringBuilder(); // 10
string acronym = "";
Dictionary<string, string> strValues = setNodeValues(Node, proposalnumber, quotenumber, objectid);
if (Node.Name.ToLower() == "proposalboadaptable")
{
strProposalBO.Append(String.Format("insert into proposal(node,createdate,createdby,objectidentifier,pk,proposalnumber,quotenumber,status,updatedate,updatedby,acronym,userdomain ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}' )"
, objectid, getstrValues("createdate", strValues), getstrValues("createdby", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues)
, proposalnumber, quotenumber, getstrValues("status", strValues), getstrValues("updatedate", strValues), getstrValues("updatedby", strValues), acronym
, getstrValues("userdomain", strValues)));
SaveNodeData(strProposalBO);
}
if (Node.Name.ToLower() == "quotebo")
{
if (Node.SelectSingleNode("number") != null && Node.SelectSingleNode("number").InnerText == quotenumber)
{
strQuoteBO.Append(String.Format("insert into quote(node, businessevent, ischanged, number, objectidentifier, pk, productcategory, productclass, producttype, quotename,quotenumber, acronym,proposalnumber) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}')"
, objectid, getstrValues("businessevent", strValues), getstrValues("ischanged", strValues), getstrValues("number", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues)
, getstrValues("productcategory", strValues), getstrValues("productclass", strValues), getstrValues("producttype", strValues), getstrValues("quotename", strValues)
, quotenumber, getstrValues("acronym", strValues), proposalnumber));
SaveNodeData(strQuoteBO);
}
else
{
return false;//if different quote number found
}
}
if (Node.Name.ToLower() == "premiumcomponentbo")
{
strPremiumComponentBO.Append(String.Format("insert into premiumcomponent(node, displayorder, inputoutputindicator, objectidentifier, pk, premiumcomponentcategory, premiumcomponentclass, premiumcomponentdatatype, premiumcomponenttype, quotenumber, acronym, proposalnumber ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')"
, objectid, getstrValues("displayorder", strValues), getstrValues("inputoutputindicator", strValues), getstrValues("objectidentifier", strValues)
, getstrValues("pk", strValues), getstrValues("premiumcomponentcategory", strValues), getstrValues("premiumcomponentclass", strValues), getstrValues("premiumcomponentdatatype", strValues)
, getstrValues("premiumcomponenttype", strValues), quotenumber, getstrValues("acronym", strValues), proposalnumber));
SaveNodeData(strPremiumComponentBO);
}
if (Node.Name.ToLower() == "premiumdetailbo")
{
strPremiumDetailBO.Append(String.Format("insert into premiumdetail(node, displayorder, doublevalue, keyvalue, objectidentifier, pk, premiumdetailcategory, premiumdetailclass, premiumdetaildatatype, premiumdetailtype, unitofmeasurement, quotenumber , acronym, proposalnumber) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}')"
, objectid, getstrValues("displayorder", strValues), getstrValues("doublevalue", strValues), getstrValues("keyvalue", strValues)
, getstrValues("objectidentifier", strValues), getstrValues("pk", strValues), getstrValues("premiumdetailcategory", strValues)
, getstrValues("premiumdetailclass", strValues), getstrValues("premiumdetaildatatype", strValues), getstrValues("premiumdetailtype", strValues)
, getstrValues("unitofmeasurement", strValues), quotenumber, getstrValues("acronym", strValues), proposalnumber));
SaveNodeData(strPremiumDetailBO);
}
if (Node.Name.ToLower() == "productcomponentbo")
{
strProductComponentBO.Append(String.Format("insert into productcomponent(node, categoryoverride, displayorder, helptext, ischanged, isselected, labeloverride, maximumcardinality, minimumcardinality, objectidentifier, pk, productcomponentcategory, productcomponentclass, productcomponentdatatype, productcomponenttype,quotenumber,acronym , proposalnumber ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}')"
, objectid, getstrValues("categoryoverride", strValues), getstrValues("displayorder", strValues), getstrValues("helptext", strValues), getstrValues("ischanged", strValues)
, getstrValues("isselected", strValues), getstrValues("labeloverride", strValues), getstrValues("maximumcardinality", strValues)
, getstrValues("minimumcardinality", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues), getstrValues("productcomponentcategory", strValues)
, getstrValues("productcomponentclass", strValues), getstrValues("productcomponentdatatype", strValues), getstrValues("productcomponenttype", strValues)
, quotenumber, getstrValues("acronym", strValues), proposalnumber));
SaveNodeData(strProductComponentBO);
}
if (Node.Name.ToLower() == "rolebos")
{
strRoleBO.Append(String.Format("insert into rolebo(node,createdate,createdby,objectidentifier,pk,proposalnumber,quotenumber,status,updatedate,updatedby,userdomain ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')"
, objectid, getstrValues("createdate", strValues), getstrValues("createdby", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues)
, getstrValues("proposalnumber", strValues), getstrValues("quotenumber", strValues), getstrValues("status", strValues), getstrValues("updatedate", strValues)
, getstrValues("updatedby", strValues), getstrValues("userdomain", strValues)));
SaveNodeData(strRoleBO);
}
if (Node.Name.ToLower() == "formbo")
{
strFormBO.Append(String.Format("insert into form(node, category, edition, formCategory, formClass, formName, formOrder, formType, formURL, isSelected, objectidentifier, pk ,quotenumber, proposalnumber , acronym ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}')"
, objectid, getstrValues("category", strValues), getstrValues("edition", strValues), getstrValues("formcategory", strValues), getstrValues("formclass", strValues)
, getstrValues("formname", strValues), getstrValues("formorder", strValues), getstrValues("formtype", strValues), getstrValues("formurl", strValues)
, getstrValues("isselected", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues), quotenumber, proposalnumber, getstrValues("acronym", strValues)));
SaveNodeData(strFormBO);
}
if (Node.Name.ToLower() == "textbo")
{
strTextBO.Append(String.Format("insert into text(node,createdate,createdby,objectidentifier,pk,proposalnumber,quotenumber,status,updatedate,updatedby,userdomain ) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}')"
, objectid, getstrValues("createdate", strValues), getstrValues("createdby", strValues), getstrValues("objectidentifier", strValues), getstrValues("pk", strValues)
, getstrValues("proposalnumber", strValues), getstrValues("quotenumber", strValues), getstrValues("status", strValues), getstrValues("updatedate", strValues)
, getstrValues("updatedby", strValues), getstrValues("userdomain", strValues)));
SaveNodeData(strTextBO);
}
if (Node.Name.ToLower() == "riskbo")
{
strRiskBO.Append(String.Format("insert into risk(node, ischanged, labeloverride, maximumcardinality, minimumcardinality, objectidentifier, pk, riskcategory, riskclass, risktype ,quotenumber, proposalnumber, acronym) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}')"
, objectid, getstrValues("ischanged", strValues), getstrValues("labeloverride", strValues), getstrValues("maximumcardinality", strValues), getstrValues("minimumcardinality", strValues)
, getstrValues("objectidentifier", strValues), getstrValues("pk", strValues), getstrValues("riskcategory", strValues), getstrValues("riskclass", strValues)
, getstrValues("risktype", strValues), quotenumber, proposalnumber, getstrValues("acronym", strValues)));
SaveNodeData(strRiskBO);
}
if (Node.Name.ToLower() == "propertybo")
{
strPropertyBO.Append(String.Format("insert into property(node, categoryoverride, decimalplaces, displayorder , helptext, ischanged, keyvalue, labeloverride, objectidentifier, pk, propertycategory, propertyclass, propertydatatype, propertytype, stringvalue, unitofmeasurement, widget, widgetheightunits, widgetwidthunits,quotenumber, proposalnumber, datevalue, doublevalue, acronym) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}')"
, objectid, getstrValues("categoryoverride", strValues), getstrValues("decimalplaces", strValues), getstrValues("displayorder", strValues)
, getstrValues("helptext", strValues), getstrValues("ischanged", strValues), getstrValues("keyvalue", strValues), getstrValues("labeloverride", strValues)
, getstrValues("objectidentifier", strValues), getstrValues("pk", strValues), getstrValues("propertycategory", strValues), getstrValues("propertyclass", strValues)
, getstrValues("propertydatatype", strValues), getstrValues("propertytype", strValues), getstrValues("stringvalue", strValues), getstrValues("unitofmeasurement", strValues)
, getstrValues("widget", strValues), getstrValues("widgetheightunits", strValues), getstrValues("widgetwidthunits", strValues), quotenumber
, proposalnumber, getstrValues("datevalue", strValues), getstrValues("doublevalue", strValues), getstrValues("acronym", strValues)));
SaveNodeData(strPropertyBO);
}
return true;
}