Linq - 指定演员表无效

时间:2015-10-29 07:49:26

标签: c# ado.net

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;

我收到错误:

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

其中INOWNER数据类型为Integer。 Integer和String都不接受。

3 个答案:

答案 0 :(得分:0)

您指定INOWNER的类型是int,但您尝试将txtInventoryOwner.Text转换为文本对象。尝试删除ToString()

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

答案 1 :(得分:0)

删除你的ToString():

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

答案 2 :(得分:0)

你提到data.Field(&#34; INOWNER&#34;)是int类型。

您希望编译以下内容吗?

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