2017-01-25 17 views
-1

私は主にC#を使っています。これらの結果を配列 "dataGrid"として設定します。 Atm私は、dataGridでこれらの結果を調べ、taskID列の "taskID's"に一致するものを探し、それらの結果を取得して "bindedGrid"と呼ばれる別の配列に入れるメソッドやメソッドを作成する手段が必要です。SQLクエリ結果を取得する方法を探して、結果から配列のIDをバインドするbindGrid

アイデア?私はこれを正しく言いたいと思います。 私はVisual Studio btwで作業しています。これらのSQLクエリの結果は、私たちが設定したAPIから来ています。そのため、メソッドはAPIの別のメソッドを呼び出し、SQLサーバーから適切な結果を返します。

+0

スケッチした状況が不明です。あなたは同じテーブルについて話しているのですか?たとえば、 'DataGrid'と' Tasks'のように2つのテーブルがありますか? – DerpyNerd

+0

結果は2つの異なるテーブルから取得されますが、結果は最終的に配列dataGridに設定されます。私は、これらの結果を通過し、一致する "taskID"列を持つ結果をフィルタリングする方法が必要です。次に、これらの結果を取り出し、「bindID」と呼ばれる別の配列に設定します。 –

+0

うまくいけばそれはちょっとそれをクリアする –

答えて

0

私はループforeachを使用する必要がありますね。試合をtaskIDべきで

https://msdn.microsoft.com/pt-pt/library/ttw7t8t6.aspx

foreach(var item in dataGrid){ 

    //imagine you have 10 "variables" in your array, the "item" will be 
    the first, then loop and will be the second, etc...and the loop goes 
    trought all your "variables". here you need to implement your logic, 
    using the "item" namespace and you will be working with one of those 
    "variables" at time. 

} 
+0

私はこれに少し新しいです。可能であれば、例を挙げることはできますか? –

+0

変数 "dataGrid"に設定されているクエリから5つの結果を受け取ったとします。結果の列の1つが「taskID」列になります。 "foreach"ループを使用してdataGridの結果を調べ、一致するtaskIDの結果のみを選択するにはどうすればよいですか? –

+0

@TommbirNoor私は自分の答えを編集しました。 foreachループを学ぶことをお勧めします。これについてYTには数多くの動画があります。 – ihavenokia

0

:公式ドキュメントを見てみましょうか?

アレイはDataRowオブジェクトの配列ですか? もしそうなら、これを実行する3つの方法、LambdaforeachまたはLINQ

がラムダある

var matchings = dataGrid.Where(dr => dr["taskID"].toString() == "matchkey"); 

foreachの

List<DataRow> matchings = new List<DataRow>(); 
foreach (var dr in dataGrid) { 
    if (dr["taskID"].toString() === "matchkey") 
     matchings.add(dr); 
} 

あなたが別のテーブルに参加したい場合は、I LINQを使用することを好む:

var matchings = from row in dataGrid 
     join task in Tasks 
     on row["taskID"].toString() equals Task["ID"] 
     select row; 

これが必要なものでない場合は教えてください。

これが機能するには、ファイルの先頭にusing System.Linq;を追加する必要があります。

関連する問題