Solved

IBatis, XML file

Posted on 2006-11-20
5
1,399 Views
Last Modified: 2012-06-27
Hi experts,
I am using Ibatis for Database management and VS:2005(ASP.Net 2.0) tool for an app.
when I run my project, there is error from sqlMap.config file:

error:
- The error occurred while Validate SqlMap config.
- The error occurred in <sqlMap embedded="SqlMaps.ProductGroup.xml, DTWR.MarketingCampaign.Data"

Here are files from my project

1. project User Interface: 2 textboxes, 1 button--save items into product group
SqlMap.config file

<?xml version="1.0" encoding="utf-8"?>
<sqlMapConfig
  xmlns="http://ibatis.apache.org/dataMapper"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <settings>
    <setting validateSqlMap="true"/>
  </settings>

  <providers embedded="DTWR.MarketingCampaign.Data.providers.config, DTWR.MarketingCampaign.Data"/>

  <!-- Database connection information -->
  <database>
    <provider name="sqlServer2.0"/>
    <dataSource name="test" connectionString="Data Source=(local);Initial Catalog=test;User ID=sa;Password=01"/>
  </database>

  <sqlMaps>
    <sqlMap embedded="SqlMaps.ProductGroup.xml, DTWR.MarketingCampaign.Data" />
   </sqlMaps>

</sqlMapConfig>

2. project.Domain: productGroup.cs

namespace DTWR.MarketingCampaign.Domain
{
    public class ProductGroup
    {
        public string groupID;
        public string productID;

        public string GroupID
        {
            get { return groupID; }
            set { groupID = value; }
        }

        public string ProductID
        {
            get { return productID; }
            set { productID = value; }
        }
    }
}


3. Project Data: include one .xml file and one .cs file
productGroup.xml
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap>
<alias>
    <typeAlias alias="ProductGroup" type="DTWR.MarketingCampaign.Domain.ProductGroup, DTWR.MarketingCampaign.Domain" />
 </alias>
 
  <parameterMap id="ProductSelection" class="ProductGroup">
    <parameter column="Selection_ID" property="groupID"/>
    <parameter column="Product_ID" property="productID"/>
  </parameterMap>

  <statement id="insertProduct" parameterMap="ProductSelection">
    insert into Product_Selection (Selection_ID, Product_ID) values (#groupID#,#productID#);
  </statement>

</sqlMap>

//////////////
productSelection.cs
using System;
using System.Collections.Generic;
using System.Text;
using DTWR.MarketingCampaign.Domain;
using DTWR.MarketingCampaign.Data;
using IBatisNet.DataMapper;

namespace DTWR.MarketingCampaign.Data.ProductManagementService
{
    public class ProductSelection
    {
        public static ProductGroup insertProduct(DTWR.MarketingCampaign.Domain.ProductGroup pg)
        {
            return Mapper.Instance().Insert("insertProduct", pg) as ProductGroup;
        }
    }
}


4. Project Logic:using System;
using System.Collections.Generic;
using System.Text;
using DTWR.MarketingCampaign.Domain;
using DTWR.MarketingCampaign.Data;
using DTWR.MarketingCampaign.Data.ProductManagementService;

namespace DTWR.MarketingCampaign.BusinessLogic
{
    public class SaveProduct
    {
        public SaveProduct(string gID, string pID)
        {
            DTWR.MarketingCampaign.Domain.ProductGroup newobj = new ProductGroup();
            newobj.groupID = gID;
            newobj.productID = pID;
            DTWR.MarketingCampaign.Data.ProductManagementService.ProductSelection.insertProduct(newobj);
        }
    }
}




0
Comment
Question by:dtwoway
  • 2
5 Comments
 
LVL 1

Expert Comment

by:vihieu
Comment Utility
Please try
<sqlMaps>
    <sqlMap embedded="Maps.productGroup.xml, DTWR.MarketingCampaign.Data" />
</sqlMaps>

instead of your
<sqlMaps>
    <sqlMap embedded="SqlMaps.ProductGroup.xml, DTWR.MarketingCampaign.Data" />
</sqlMaps>

in SqlMap.config file
0
 

Author Comment

by:dtwoway
Comment Utility
Hi vihieu,

I tried your comment, it didn't work.
0
 

Author Comment

by:dtwoway
Comment Utility
Ok,  I already fix the problem. The problem came from .XML file insert into statement. I use  
<generate table="Product_Selection" /> instead of  insert into Product_Selection (Selection_ID, Product_ID) values (#groupID#,#productID#). It works.  But I don't know when i should use insert into statement except "generate table" statement.
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
Comment Utility
PAQed with points refunded (250)

Computer101
EE Admin
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Suggested Solutions

Uploading files to the web server has become common part of almost any kind of web application. People use different technologies to solve this, but regardless of the technology used, it is always useful to have some kind of progress indicator shown…
Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now