I have a MySQL column specified as:
`type` TINYINT(1) NOT NULL DEFAULT '0'
The intent of the column is to store an integer value not to exceed 127 as there are not expected to be more than a very few object "types."
I've stored '2' in the field for one of my rows.
Using SqlYog, a simple SELECT type FROM table
yields the proper result, 2.
However, using the Connector/Net 6.1.2 (admittedly it's a bit out of date, as the current version is 6.5.4), the following happens:
var Temp = Reader["type"].GetType(); // equals "Boolean"
This type of column is usually used for Boolean values, but in this case I want to get the integer value. The following fails to yield the expected result:
int i = Reader.GetInt32("type"); // equals 1 (should be 2)
What's the proper way to get int values from a TINYINT(1) column using Connector/Net in a .NET app?
This is using MySQL version 5.5.16
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…