【问题标题】:Select Value between two column from datatable从数据表中选择两列之间的值
【发布时间】:2016-04-20 11:40:49
【问题描述】:

我有一个数据表。我需要根据用户输入获取某个列值。例如,假设数据表有三列 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();

要求:

如果 intFrom/intTo 数据已经存在于数据表中,那么 msg 应该会出现。请查看图像以获取记录

enter image description here

【问题讨论】:

标签: c# asp.net


【解决方案1】:

试试这个

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

if(dtCurrentTable.AsEnumerable().Any(row => fromValue == row.Field<string>("intFrom") && toValue == row.Field<string>("intTo")))
{
 //exists 
}

看到这个问题。 Check if value exists in dataTable?

Check if String / Record exists in DataTable

【讨论】:

  • 我收到此错误“运算符'=='不能应用于'string'和'int'类型的操作数”
  • intFrom的数据类型是什么?
  • 非常感谢,工作得很好,你节省了我很多时间兄弟。其实我忘记转换了。
  • @ImranAzam 欢迎:)
  • 如何在 intfrom 和 intTo 列之间搜索数据,假设我第一次将 10 添加到 30,下次我尝试将值 15 添加到 40 那么 msg 应该会出现 bcz 15 已经存在10 到 30 之间知道如何完成这项任务@Ajay Punekar
【解决方案2】:

txtFromtxtTo 成为两个值,它们必须分别在intFrom 行和intTo 列中进行检查。(假设它们的值是10 和30)。所以过滤条件如下,如果计数&gt; 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
}

【讨论】:

    【解决方案3】:

    检查此代码....

    {
    
       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
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多