Bug #7755 MySqlReader.GetInt32 throws exception if column is unsigned
Submitted: 10 Jan 2005 5:44 Modified: 12 Jan 2005 18:27
Reporter: Kris Kimbrough
Status: Closed
Category:Connector/Net Severity:S3 (Non-critical)
Version:1.0.3 OS:Microsoft Windows (Win/XP)
Assigned to: Reggie Burnett Target Version:

[10 Jan 2005 5:44] Kris Kimbrough
Description:

Reading a column value using GetInt32 throws an exception if the column is defined as
unsigned.  

"Specified cast is not valid."

In the example I was testing the value in the column was 2, so not sure why GetInt32
couldn't cast a 2 into an int32 without an exception?  I know other .Net data providers
handle this scenario correctly.

How to repeat:
define an int(6) unsigned column and attempt to read it:

MySqlDataReader reader ;
...
int pkValue = (int) reader.GetInt32 (0) ;
[12 Jan 2005 18:27] Reggie Burnett
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

I've known about this for sometime.  I wasn't sure I wasn't even going to do anything
about it since the SQL Server provider doesn't allow you to silently convert types like
this.  However CoreLabs does allow it and so I have made the change.