2013-04-15 1 views
0
var dadproductlist = from dgdproduct in dadData.Tables[0].AsEnumerable() 
select new DeliveryAdjustmentProduct 
{ 
    AdjustmentQuantity = dgdproduct.Field<int>("AdjustedQty"), 
    AdjustmentType = dgdproduct.Field<char>("AdjustmentType").ToString(), 
    DeliveredDate = dgdproduct.Field<DateTime>("ExpectedDate"), 
    ProductCode = dgdproduct.Field<int>("ProductNum").ToString(), 
    RevisedQuantity = dgdproduct.Field<int>("RevisedOrderQty"), 
    SupplierId = dgdproduct.Field<int>("SupplierId").ToString(), 
    TrailerId = "Pradeep" 
}; 

я написал приведенный выше запрос, чтобы получить поле charecter, его неудачу с "Specified Cast Not Valid".LINQ к DataSet, ошибка при получении CHAR поля

+0

Определение DeliveryAdjustmentProduct требуется для проверки типов полей. –

ответ

1

я написал выше запрос, чтобы получить поле charecter, его неспособность с «заданным Cast недействительно»

Если вы получаете данные из базы данных, затем CHAR сопоставляется string в C# , Так что попробуйте:

AdjustmentType = dgdproduct.Field<string>("AdjustmentType"), 

вместо

AdjustmentType = dgdproduct.Field<char>("AdjustmentType").ToString(), 

Вы можете изменить тип AdjustmentType, или попытаться получить первый символ из строки, которые будут назначены на ваш char типа AdjustmentType как:

AdjustmentType = dgdproduct.Field<string>("AdjustmentType")[0]

(Но вышеизложенное предполагает, что re - по крайней мере один символ в возвращаемой строке)

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