| Bug #41034 | .net parameter not found in the collection | ||
|---|---|---|---|
| Submitted: | 25 Nov 2008 22:17 | Modified: | 9 Dec 2008 16:02 |
| Reporter: | Manuel Navas | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 5.2.5 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | not found in the collection, parameter not found in the collection | ||
[25 Nov 2008 22:17]
Manuel Navas
[3 Dec 2008 19:07]
Reggie Burnett
Correction, not verified. doesn't seem to fail on current 5.2 code. Here is the code I am using to try and reproduce.
execSQL("CREATE PROCEDURE spTest(myparam decimal (8,2)) BEGIN SELECT 1; END");
MySqlCommand cmd = new MySqlCommand("spTest", conn);
cmd.Parameters.Add("?myparam", MySqlDbType.Decimal).Value = 20;
cmd.CommandType = CommandType.StoredProcedure;
object o = cmd.ExecuteScalar();
Assert.AreEqual(1, o);
This works as expected.
[3 Dec 2008 19:10]
Reggie Burnett
Nevermind. I was running the test under the wrong setup. I have verified that it fails.
[3 Dec 2008 19:31]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60527
[3 Dec 2008 19:39]
Reggie Burnett
fixed in 5.2.6. Problem not present in 6.0+
[9 Dec 2008 16:02]
Tony Bedford
An entry was added to the 5.2.6 changelog: If a Stored Procedure contained spaces in its parameter list, and was then called from Connector/NET, an exception was generated. However, the same Stored Procedure called from the MySQL Query Analyzer or the MySQL Client worked correctly. The exception generated was: Parameter '0' not found in the collection.
