MVC jqGrid Малая целочисленная ошибка - PullRequest
0 голосов
/ 29 октября 2011

Эта статья действительно замечательная и потрясающая.Это из темы «ASP.NET MVC 2.0 Реализация поиска в jqgrid» - ASP.NET MVC 2.0 Реализация поиска в jqgrid .

Но сейчас я столкнулся с проблемой поискаЯ добавил поле с маленьким целочисленным типом данных.Поле, добавленное с типом данных маленького целого, будет служить статусом.Допустим, значение one (1) для Active, а значение two (2) для Inactive.

Когда я набирал 1 или 2 из текстового поля, он выдавал ошибку

System.Data.Entity: типы аргументов 'Edm.Int16' и 'Edm.String' несовместимы для этой операции.Выражение почти равно, строка 6, столбец 12.

Заранее спасибо.

1 Ответ

0 голосов
/ 29 октября 2011

Я рад, что мой старый ответ был полезен для вас. Я полагаю, у вас есть проблемы возле линии

// TODO: Extend to other data types

В коде, который я включил в ответ, я показал, что propertyInfo.PropertyType.FullName содержит информацию о типе данных свойства объекта. В коде я использовал только два типа: строковое и 32-битное целое число. В случае 32-разрядных целых чисел я сделал соответствующий анализ данных относительно Int32.Parse:

String.Compare (propertyInfo.PropertyType.FullName,
                "System.Int32", StringComparison.Ordinal) == 0 ?
    new ObjectParameter ("p" + iParam, Int32.Parse(rule.data)

Вы должны заменить оператор "?:" На case, где вы проверяете propertyInfo.PropertyType.FullName для большего количества типов данных. Например, в случае smallint типа SQL вы должны использовать System.Int16, в случае tinyint это должно быть System.Byte, тип данных sbyte SQL соответствует System.SByte и так далее. Если вы используете в качестве второго параметра ObjectParameter правильный тип данных, все должно работать правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...