文字列があり、DataTabledtPs.Rowsの列「item_manuf_id」が特定の値に等しいかどうかを確認する必要があります
すべての行をループして比較できます
String id = dtPs.Rows[number]["item_manuf_id"].ToString()
if ("some value".equals(id)) etc.
DataTable
しかし、レコードが含まれているかどうかを確認する方法があるかどうか疑問に思っています
このようなもの
string find = "item_manuf_id = 'some value'";
DataRow[] foundRows = table.Select(find);
の各行をループしてDataTable
、値を確認できます。
私はsを使用するときにforeachループを使用するのが大好きですIEnumerable
。各行を表示または処理するのが非常に簡単でクリーンになります
DataTable dtPs = // ... initialize your DataTable
foreach (DataRow dr in dtPs.Rows)
{
if (dr["item_manuf_id"].ToString() == "some value")
{
// do your deed
}
}
または、を使用することもできPrimaryKey
ますDataTable
。これはさまざまな点で役立ちますが、使用する前に定義する必要があることがよくあります。
http://msdn.microsoft.com/en-us/library/z24kefs8(v=vs.80).aspxにある場合の使用例
DataTable workTable = new DataTable("Customers");
// set constraints on the primary key
DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;
workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));
// set primary key
workTable.PrimaryKey = new DataColumn[] { workTable.Columns["CustID"] };
主キーを定義してデータを入力したら、Find(...)メソッドを使用して、主キーに一致する行を取得できます。
http://msdn.microsoft.com/en-us/library/y06xa2h1(v=vs.80).aspxをご覧ください
DataRow drFound = dtPs.Rows.Find("some value");
if (drFound["item_manuf_id"].ToString() == "some value")
{
// do your deed
}
最後に、Select()メソッドを使用して、http://msdn.microsoft.com/en-us/library/y06xa2h1( v = vs.80DataTable
).aspxにもあるデータを検索できます。
String sExpression = "item_manuf_id == 'some value'";
DataRow[] drFound;
drFound = dtPs.Select(sExpression);
foreach (DataRow dr in drFound)
{
// do you deed. Each record here was already found to match your criteria
}
「item_manuf_id」がDataTableの主キーである場合は、 Findメソッドを使用できると思います...
string s = "stringValue";
DataRow foundRow = dtPs.Rows.Find(s);
if(foundRow != null) {
//You have it ...
}