C〓〓濾過DataTableの中空データと重複データの例コード
C〓〓はDataTableの中の空のデータと繰り返しのデータを濾過します。
DataTableのいずれかの列のデータが空の値であると判断する方法
DataRow類が持つ関数IsNullを使う必要があります。
datatableはある条件によってデータをフィルタします。
ここでは、Cの中空データと重複データをフィルタした文章を紹介します。これに関連して、より多くのCのデータと重複したデータの内容を紹介します。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。
string sql = "select name,age from user";
DataTable data = DB.ExecuteDataTable(string.Format(sql)); // DataTable
// ------------start -------------------
string[] distinctcols = new string[(data.Columns.Count)];
foreach (DataColumn dc in data.Columns)
{
distinctcols[dc.Ordinal] = dc.ColumnName;
}
DataView mydataview = new DataView(data);
DataTable data1 = mydataview.ToTable(true, distinctcols);
// ------------end -------------------
// ------------start null-------------------
DataTable data2 = data1.Clone();//
foreach (DataRow drItem in data1.Rows)
{
// ,
if (!string.IsNullOrWhiteSpace(drItem[0].ToString()) && !string.IsNullOrWhiteSpace(drItem[1].ToString()))
{
data2.Rows.Add(drItem.ItemArray);
}
}
// ------------end-------------------
/**
, ,
*/
DataRow row = data2.NewRow();
data2.Rows.InsertAt(row, 0);
return data2;
添付:cxi datableはある条件によってデータをフィルタリングします。DataTableのいずれかの列のデータが空の値であると判断する方法
DataRow類が持つ関数IsNullを使う必要があります。
if(!DataRow.IsNull(index))
if(Convert.IsDBNull(Row.ItemArray[index]))
DataReader(Sql Data Reader)には同じ機能のIsDBNull関数があります。datatableはある条件によってデータをフィルタします。
public static DataTable TblFilter(DataTable sourceTable, string condition)
{
var tempDt = sourceTable.Clone();
var rows = sourceTable.Select(condition);
foreach (var dr in rows)
{
tempDt.ImportRow(dr);
}
return tempDt;
}
public static DataTable TblFilter(DataTable sourceTable, string condition, string[] columns)
{
var tempDt = new DataTable();
foreach (var t in columns)
{
tempDt.Columns.Add(t, typeof(String));
}
var rows = sourceTable.Select(condition);
foreach (var dr in rows)
{
var newDr = tempDt.NewRow();
foreach (var t in columns)
{
newDr[t.Split(':')[0]] = dr[t.Split(':')[0]].ToString();
}
tempDt.Rows.Add(newDr);
}
return tempDt;
}
sql文では、left、right関数は、フィールドの左または右の数字をとります。
LEFT(shopid,4)
締め括りをつけるここでは、Cの中空データと重複データをフィルタした文章を紹介します。これに関連して、より多くのCのデータと重複したデータの内容を紹介します。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。