C# 从datatable中选择两列之间的值

C# 从datatable中选择两列之间的值,c#,asp.net,C#,Asp.net,我有一个数据表。我需要根据用户输入获取某个列值。例如,假设datatable有三列intpkdata、intFrom和intTo 这是我的一些代码 drCurrentRow = dtCurrentTable.NewRow(); drCurrentRow["intpkdata"] = new Random().Next(0, 99999).ToString(); drCurrentRow["intFro

我有一个数据表。我需要根据用户输入获取某个列值。例如,假设datatable有三列intpkdata、intFrom和intTo 这是我的一些代码

                drCurrentRow = dtCurrentTable.NewRow();
                drCurrentRow["intpkdata"] = new Random().Next(0, 99999).ToString();
                drCurrentRow["intFrom"] = txtFrom.Text;
                drCurrentRow["intTo"] = txtTo.Text;

                dtCurrentTable.Rows.Add(drCurrentRow);
                ViewState["Pcidata"] = dtCurrentTable;
                gdvpciData.DataSource = dtCurrentTable;
                gdvpciData.DataBind();
要求:

如果datatable中已经存在intFrom/intTo数据,则应显示消息。请查看图像以获取记录


txtFrom
txtTo
为两个值,必须分别在
intFrom
行和
intTo
列中进行检查(假设它们的值分别为10和30)。因此,如果计数
>0
意味着表中存在这样的行,那么可以打印消息,那么过滤条件如下

string txtFrom = "10";
string txtTo = "30";
if (dtCurrentTable.AsEnumerable().Where(row => row.Field<string>("intFrom") == txtFrom && row.Field<string>("intTo") == txtTo).Count() > 0)
{
    // Display message here that it already exist
}
string txtFrom=“10”;
字符串txtTo=“30”;
if(dtCurrentTable.AsEnumerable().Where(row=>row.Field(“intFrom”)==txtFrom&&row.Field(“intTo”)==txtTo.Count()>0)
{
//在此处显示已存在的消息
}
检查此代码

{

   String strName = "name";

    bool contains = dtCurrentTable.AsEnumerable().Any(row => strName == row.Field<String>("intFrom"));

    String strName2 = "name";

    bool contains2 = dtCurrentTable.AsEnumerable().Any(row => strName2 == row.Field<String>("intTo"));

    if (contains && contains2)
    {
        // Do your code
    }
}
{
字符串strName=“name”;
bool contains=dtCurrentTable.AsEnumerable().Any(row=>strName==row.Field(“intFrom”);
字符串strName2=“name”;
bool contains2=dtCurrentTable.AsEnumerable().Any(row=>strName2==row.Field(“intTo”);
如果(包含和包含2)
{
//做你的代码
}
}
试试这个

string fromValue = "some value";
string toValue = "some value";

if(dtCurrentTable.AsEnumerable().Any(row => fromValue == row.Field<string>("intFrom") && toValue == row.Field<string>("intTo")))
{
 //exists 
}
string fromValue=“some value”;
字符串toValue=“some value”;
if(dtCurrentTable.AsEnumerable().Any(row=>fromValue==row.Field(“intFrom”)&toValue==row.Field(“intTo”))
{
//存在
}
看到这个了吗。


可能重复我收到此错误“运算符“==”不能应用于“字符串”和“int”类型的操作数”intFrom的数据类型是什么??非常感谢,工作正常。您为我节省了大量时间兄弟。实际上我忘了转换。@ImranAzam Welcome:)如何在intfrom和intTo列之间搜索数据,比如说,第一次我添加了10到30,下一次我尝试添加值15到40,那么msg应该来了,bcz 15已经存在于10到30之间了。你知道如何实现这个任务吗@Ajay Punekar