2015-10-29 228 views
0
IEnumerable<DataRow> drIEOrderDetail = 
    from data in dsOrder.Tables["ORDDETL02"].AsEnumerable() 
    where data.Field<int>("INOWNER") == int.Parse(txtInventoryOwner.Text.Trim()).ToString() 
    && data.Field<string>("SKUCODE") == txtSKUCode.Text.Trim() 
    && data.Field<string>("PACKID") == cmbPackageId.SelectedValue.ToString() 
    && data.Field<string>("BATCH") == txtBatch.Text.ToString()               
    select data; 

我在收到錯誤:LINQ的 - 指定的轉換是無效

data.Field<int>("INOWNER") == int.Parse(txtInventoryOwner.Text.Trim()).ToString() 

其中INOWNER數據類型是整數。 整數和字符串都不接受。

+0

'txtInventoryOwner.Text.Trim()'的值是什麼 –

+4

remove ToString()。 –

+0

任何數值 – priya

回答

0

您指定INOWNER的類型爲int,但您試圖將txtInventoryOwner.Text轉換爲文本對象。嘗試刪除的ToString()

data.Field<int>("INOWNER") == int.Parse(txtInventoryOwner.Text.Trim()); 
0

刪除您的ToString():

where data.Field<int>("INOWNER") == int.Parse(txtInventoryOwner.Text.Trim()) 
0

你提到data.Field( 「INOWNER」)是int類型。

您希望以下內容能夠被編譯?

int myInt = data.Field<int>("INOWNER"); 
string myString = int.Parse(txtInventoryOwner.Text.Trim()).ToString(); 
bool b = myInt == myString;