ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tech fan <monsterc...@gmail.com>
Subject Re: QueryForDictionary<K,V>, do I really have to creae a class for this?
Date Fri, 07 May 2010 07:55:53 GMT
Hi, thanks for the info.

The table contains just 2 columns, 'value': int, 'description': varchar.

Here is the map:

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="TestParameters" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <statements>

    <select id="TestQueryForDictionary">
      SELECT VALUE, DESCRIPTION FROM CODEMAP
    </select>

  </statements>
  </sqlMap>

Here is the code:
        [Test]
        public void Test_QueryForDictionary()
        {
            IDictionary<int, string> r = _db.QueryForDictionary<int,
string>("TestQueryForDictionary", null, "CODE");
            Assert.That(r.Count, Is.EqualTo(2));
        }
I got an error like this:
IBatisNet.Common.Exceptions.ProbeException : There is no Get member
named 'CODE' in class 'Object[]'
I guess I need to put resultClass parameter or something in the map, but I
don't want to create a type for that :(

Regards,
tc.
On Thu, May 6, 2010 at 11:02 PM, Dave Curylo <curylod@asme.org> wrote:

>  Can you include a snippet of your code?  QueryForDictionary should do
> what you described without the need to create a new class.
>
>  *From:* tech fan <monstercorp@gmail.com>
> *Sent:* Thursday, May 06, 2010 4:26 PM
> *To:* user-cs@ibatis.apache.org
> *Subject:* QueryForDictionary<K,V>, do I really have to creae a class for
> this?
>
> Hi,
>
> I have a table with just a integer as pk and a string as description. I
> need to retrieve all data into a IDictionary<int, string>(this table is
> human mantained), but I really don't want to creaet a class just for this
> simple task. But it seems QueryForDictionary converts the result to an
> object before I can access it. Is there any solution to this? I tried to use
> set the result class to
> System.Collections.Generic.Dictionary`2[System.UInt16,System.String] with no
> luck.
>
> Thanks a have a nice day.
> tc.
>

Mime
View raw message