2015-10-08 3 views
0

У меня есть база данных с таблицей, которая имеет поле TinyInt (1), но не является логическим это просто число от 0 до 9.MySqlHelper.ExecuteDataset возвращаются неправильные значения на поле TinyInt (1)

Когда Я извлечь данные из этой таблицы с помощью:

Dim ds As DataSet = MySqlHelper.ExecuteDataset(CnStr, SqlStr) 

приведенные «dataset.table (0)» не содержит значение поля.

Возвращаемое значение является булевым. Поэтому я получаю только «TRUE» для каждого значения поля, и когда я вставляю данные в другую таблицу, вставленное значение равно 0.

Я решил изменить тип поля от Tinyint (1) до Tinyint (2) d хотел бы знать, если кто-то другой столкнулся с одной и той же проблемой, и если есть лучший способ решить.

ответ

0

Добавьте к строке соединения

TreatTinyAsBoolean=false 

http://dev.mysql.com/doc/connector-net/en/connector-net-connection-options.html

+0

Спасибо за полезную ссылку – genespos

+0

рад помочь, еще один трюк, если вам нужно хранить только положительные числа в поле TinyInt является определение его как " unsigned "и затем возвращает значение байта 0-255, а не true/false. – PaulF

Смежные вопросы