You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Ron Grabowski (JIRA)" <ib...@incubator.apache.org> on 2006/03/24 04:21:19 UTC
[jira] Created: (IBATISNET-143) Allow selectKey node to process
dynamic sql
Allow selectKey node to process dynamic sql
-------------------------------------------
Key: IBATISNET-143
URL: http://issues.apache.org/jira/browse/IBATISNET-143
Project: iBatis for .NET
Type: New Feature
Reporter: Ron Grabowski
Assigned to: Gilles Bayon
Priority: Minor
This does not work correctly:
<insert id="SelectKeyWithDynamicSql">
INSERT INTO $AccountsTableName$
(
Account_ID,
Account_FirstName,
Account_LastName
)
VALUES
(
#Account.Id#,
#Account.FirstName#,
#Account.LastName#
)
<selectKey property="AccountId" type="post" resultClass="int">
SELECT Account_ID FROM $AccountsTableName$ WHERE Account_ID = #Account.Id#
</selectKey>
</insert>
[Test]
public void TestSelectKeyWithDynamicSql()
{
Account account = new Account();
account.Id = 99999;
account.FirstName = "R";
account.LastName = "G";
Hashtable param = new Hashtable(2);
param["Account"] = account;
param["AccountsTableName"] = "Accounts";
sqlMap.Insert("SelectKeyWithDynamicSql", param);
Assert.IsTrue(param.ContainsKey("AccountId"));
Assert.AreEqual(99999, (int)param["AccountId"]);
}
Statement Id: [SelectKeyWithDynamicSql] PreparedStatement : [INSERT INTO Accounts (Account_ID, Account_FirstName, Account_LastName) VALUES (?param0, ?param1, ?param2)]
Statement Id: [SelectKeyWithDynamicSql] Parameters: [?param2=[Account.LastName,G]]
Statement Id: [SelectKeyWithDynamicSql] Types: [?param0=[Int32, System.Int32], ?param1=[String, System.String], ?param2=[String, System.String]]
Statement Id: [SelectKeyWithDynamicSql.SelectKey] PreparedStatement : [SELECT Account_ID FROM $AccountsTableName$ WHERE Account_ID = #Account.Id#]
This line also looks incorrect:
Statement Id: [SelectKeyWithDynamicSql] Parameters: [?param2=[Account.LastName,G]]
Its missing the param0 and param1.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (IBATISNET-143) Allow selectKey node to process
dynamic sql
Posted by "Ron Grabowski (JIRA)" <ib...@incubator.apache.org>.
[ http://issues.apache.org/jira/browse/IBATISNET-143?page=all ]
Ron Grabowski closed IBATISNET-143:
-----------------------------------
Resolution: Fixed
Assign To: Ron Grabowski (was: Gilles Bayon)
Fixed in 389973.
> Allow selectKey node to process dynamic sql
> -------------------------------------------
>
> Key: IBATISNET-143
> URL: http://issues.apache.org/jira/browse/IBATISNET-143
> Project: iBatis for .NET
> Type: New Feature
> Reporter: Ron Grabowski
> Assignee: Ron Grabowski
> Priority: Minor
> Attachments: DomSqlMapBuilder_IBATISNET-143.patch
>
> This does not work correctly:
> <insert id="SelectKeyWithDynamicSql">
> INSERT INTO $AccountsTableName$
> (
> Account_ID,
> Account_FirstName,
> Account_LastName
> )
> VALUES
> (
> #Account.Id#,
> #Account.FirstName#,
> #Account.LastName#
> )
> <selectKey property="AccountId" type="post" resultClass="int">
> SELECT Account_ID FROM $AccountsTableName$ WHERE Account_ID = #Account.Id#
> </selectKey>
> </insert>
> [Test]
> public void TestSelectKeyWithDynamicSql()
> {
> Account account = new Account();
> account.Id = 99999;
> account.FirstName = "R";
> account.LastName = "G";
> Hashtable param = new Hashtable(2);
> param["Account"] = account;
> param["AccountsTableName"] = "Accounts";
> sqlMap.Insert("SelectKeyWithDynamicSql", param);
> Assert.IsTrue(param.ContainsKey("AccountId"));
> Assert.AreEqual(99999, (int)param["AccountId"]);
> }
> Statement Id: [SelectKeyWithDynamicSql] PreparedStatement : [INSERT INTO Accounts (Account_ID, Account_FirstName, Account_LastName) VALUES (?param0, ?param1, ?param2)]
> Statement Id: [SelectKeyWithDynamicSql] Parameters: [?param2=[Account.LastName,G]]
> Statement Id: [SelectKeyWithDynamicSql] Types: [?param0=[Int32, System.Int32], ?param1=[String, System.String], ?param2=[String, System.String]]
> Statement Id: [SelectKeyWithDynamicSql.SelectKey] PreparedStatement : [SELECT Account_ID FROM $AccountsTableName$ WHERE Account_ID = #Account.Id#]
> This line also looks incorrect:
> Statement Id: [SelectKeyWithDynamicSql] Parameters: [?param2=[Account.LastName,G]]
> Its missing the param0 and param1.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira