2015-07-08 4 views
1

Я использовал «» идентификатор пользователя в SQL является тип данных INT и в интерфейсе (.cs) также используется тот же тип данных INT, то почему бросать эту ошибку: «указанный литой не является допустимым»Зачем бросать сообщение об ошибке: указанный прилив недействителен?

var userRowsCustId = dsCustReg.Tables[0] 
           .AsEnumerable() 
           .Select(r => r.Field<int>("AccountNo")); 

var allRowsCustId = dsAllTables.Tables[0] 
           .AsEnumerable() 
           .Select(r => r.Field<int>("UserId")); 

IEnumerable<int> allIntersectingCustIds = userRowsCustId.Except(allRowsCustId); 

if (allIntersectingCustIds.Any()) 
{ 
} 

что такое решение эта ошибка?

ошибка метание в r => r.Field<int>("AccountNo")

+1

Вы использовали в 'SqlDataAdapter' заполнить таблицу или как вы заполнили' DataTable'? Является ли 'AccountNo' также' int'-column? Посмотрите на 'dsCustReg.Columns' в отладчике. –

+1

Какие типы данных являются 'AccountNo' и' UserId' в базе данных? –

+1

Кроме того, ваш код, похоже, имеет именование или логическую проблему. Пересечение обычно означает, что они имеют одни и те же значения, но 'Except' возвращает все пользовательские строки, которые не существуют в строках cust. Возможно, вы хотите использовать 'Intersect'. –

ответ

0

Я получил it..its прием, когда я заменил в с двойным

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