【问题标题】:How to compare DataTable and string if it exist如果存在,如何比较 DataTable 和字符串
【发布时间】:2017-11-16 04:05:17
【问题描述】:

我的表 Brands 中有一个数据,其中包含 SmartSun。该程序上传一个 csv,但在上传 csv 之前,如果有一行不包含 SmartSun,那么程序需要检查 csv 的列 Sun

DataTable dtCsv = new DataTable();
int matchCount;
using (CsvReader csvReader = new CsvReader(new StreamReader(fs), true))
     {
         dtCsv.Load(csvReader);
     }

if (dtCsv.Select("BATCH_LEADS<>'" + batch.LeadBatch + "'").Count() != 0) return false;

foreach (Brand brands in BrandList)
{
      matchCount = dtCsv.Select("BRAND<>'" + brands.BrandName + "'").Count();
}

但我知道我做错了什么,因为matchCount 将包含列中的不匹配计数。请帮我。我正在使用C#,这是一个asp.net MVC 项目

【问题讨论】:

  • 这是一个非常糟糕的问题。请阅读常见问题解答,了解如何写出好问题 - 我们可以帮助您解决问题。
  • CSV 内容仍不清楚 - 请添加更多详细信息以揭示给定代码的错误。阅读 How to Askminimal reproducible example 了解您需要包含的内容。
  • @SamAxe 对不起,我的解释被我删除了。
  • @TetsuyaYamamoto 请重新阅读我的编辑。

标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-3


【解决方案1】:

以下不是确切的代码,但我希望它会显示正确的方向。也就是说,一旦我们从 csv 中获取数据作为数据表,我们还可以进行如下检查:

示例代码:

DataTable dtCsv = new DataTable();
int matchCount;
using (CsvReader csvReader = new CsvReader(new StreamReader(fs), true))
     {
         dtCsv.Load(csvReader);
     }

  for (int rowcount = 0; rowcount < dtCsv.Rows.Count; rowcount++)
   {
          //brands is the column name in excel
         if( dtCsv.Rows[rowcount]["brands"].ToString() != "sum" || dtCsv.Rows[rowcount]["brands"].ToString() != "smart")
         {

                //do some logic
          }
    }

希望对你有帮助

谢谢

卡提克

【讨论】:

    【解决方案2】:

    起初我不知道数据表使用查询语句。所以我这样做了。它对我很有效

    int matchCount = 0;
    using (MappingDBUnitOfWork muw = new MappingDBUnitOfWork(new MappingEntities()))
                {
                    var BrandList = muw.BrandRepository.GetAll();
                    foreach (Brand brands in BrandList)
                    {
                        matchCount += dtCsv.Select("BRAND ='" + brands.BrandName + "'").Count();
                    }
                }
    
                if (matchCount != dtCsv.Rows.Count) return false;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 2012-02-14
      • 2021-11-25
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多