如果存在,如何比较 DataTable 和字符串
How to compare DataTable and string if it exist
我的 table Brands
中有一个数据包含 Smart
或 Sun
。该程序上传一个 csv,但在上传 csv 之前,程序需要检查 csv 的 Brands
列,如果有一行不包含 Smart
或 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 中获取数据作为数据表,我们还可以像下面这样检查:
示例代码:
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
}
}
希望对您有所帮助
谢谢
卡尔提克
起初我不知道数据table使用类似查询的语句。所以我这样做了。对我来说效果很好
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;
我的 table Brands
中有一个数据包含 Smart
或 Sun
。该程序上传一个 csv,但在上传 csv 之前,程序需要检查 csv 的 Brands
列,如果有一行不包含 Smart
或 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 中获取数据作为数据表,我们还可以像下面这样检查:
示例代码:
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
}
}
希望对您有所帮助
谢谢
卡尔提克
起初我不知道数据table使用类似查询的语句。所以我这样做了。对我来说效果很好
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;