0

我正在使用 Windows 窗体开发超市应用程序。在这个项目中,我有一个表单可以在填写该表单并单击提交按钮时添加新产品详细信息,新添加的产品详细信息应添加到用于存储所有产品详细信息的现有 xml 文件中,并且它必须保留旧产品详细信息还。我想使用数据集/数据表创建这个 xml 文件。我可能不得不添加“n”不。单个 XML 文件中的产品。在下面的 xml 文件中,“P2”是新添加的产品,xml 必须存储这个“P2”产品并保留旧数据,如“P1”产品

<?xml version="1.0" standalone="yes" ?> 
 - <SuperMarketStock>
 -   <ProductDetails>
      <ProductName>P1</ProductName> 
      <ProductId>PID 1</ProductId> 
      <Date>5/10/2012</Date> 
      <Quantity>10</Quantity> 
      <CostPrice>10.50</CostPrice> 
      <SellingPrice>12.00</SellingPrice> 
   <ProductDetails>
<ProductDetails>
    <ProductName>P2</ProductName> 
    <ProductId>PID2</ProductId> 
    <Date>06/10/2012</Date> 
    <Quantity>10</Quantity> 
    <CostPrice>50.00</CostPrice> 
    <SellingPrice>55.00</SellingPrice> 
</ProductDetails>
 ........
 ........
 .......
</SuperMarketStock>

我使用下面的代码,但我无法得到我的要求请指导我......

private void btnAdminSubmit_Click(object sender, EventArgs e)
  {
    if(rbtnAddNew.Checked.Equals(true))
     {
    DataTable adminDT = new DataTable("ProductDetails");
    adminDT.Columns.Add("ProductName");
    adminDT.Columns.Add("ProductId");
    adminDT.Columns.Add("Date");
    adminDT.Columns.Add("Quantity");
    adminDT.Columns.Add("CostPrice");
    adminDT.Columns.Add("SellingPrice");
    adminDT.Rows.Add(tbxAdminProductName.Text, tbxAdminProductID.Text,   tbxAdminDate.Text, tbxAdminQuantity.Text, tbxAdminCostPrice.Text, tbxAdminSellingPrice.Text);
      DataSet adminDS = new DataSet("SuperMarketStock");
      adminDS.Tables.Add(adminDT);
      adminDS.WriteXml("stockDetails.xml");
        }
4

1 回答 1

0

您可以用此代码替换

adminDT.Rows.Add(tbxAdminProductName.Text, tbxAdminProductID.Text,   tbxAdminDate.Text, tbxAdminQuantity.Text, tbxAdminCostPrice.Text, tbxAdminSellingPrice.Text);

解决方案

var row = adminDT.NewRow();
row[0] =  tbxAdminProductName.Text;
row[1] =  tbxAdminProductID.Text;
row[2] =  tbxAdminDate.Text;
row[3] =  tbxAdminQuantity.Text;
row[4] =  tbxAdminCostPrice.Text;
row[5] =  tbxAdminSellingPrice.Text;

adminDT.Rows.Add(row);
adminDS.Tables.Add(adminDT);
adminDS.WriteXml("stockDetails.xml");
于 2012-10-05T08:25:45.787 回答