2016-10-26 6 views
0

私の問題はラムダ式を書くことです!問題は、私が正しいことをしているかどうかわからないことです。データベースからテキストボックスに値(文字列)を割り当てる方法

var result = dataset.student.Where(n => n.ID == num); 
**num is a value recieved from id text box 

VaRの結果を格納し、私のオブジェクトは、私のように失敗していますこれはどこで

this.FirstNameTextBox = result.Where(n=>n.FirstName); 

結果姓と今私はテキストボックスを割り当てる必要があるので、(一人である)データベースから「FirstNameTxtBox」を引っ張っ私の表現は、文字列をBOOLに変換することはできませんアウト」し続けることは右式であるかどうかわからない正直に言うと、これは明らかである 希望

答えて

2

それは次のようになります。。。

this.FirstNameTextBox.Text = result.Select(n => n.FirstName).FirstOrDefault(); 
+0

そのがシステムWindowsに文字列を変換することはできません私に告げますテキストボックスを制御するあなたは何のためにお勧めですか? – KingBee

+0

@KingBee更新 –

+0

私は馬鹿のように感じる。ドー! 。声援を忘れました。 – KingBee

0

拡張FirstまたはFirstOrDefaultを使用してクエリ結果を取得する必要があります。

以上の読み取り:https://msdn.microsoft.com/en-us/library/bb397687.aspx

this.FirstNameTextBox.Text = result.Where(n=>n.FirstName).First(); 

または

this.FirstNameTextBox.Text = dataset.student.FirstOrDefault(n => n.ID == num).FirstName; 
0

あなたもラムダを必要としません。シンプルな結果の最初の項目を取得します。

this.FirstNameTextBox.Text = result.First().FirstName; 
// or 
this.FirstNameTextBox.Text = result[0].FirstName; 

または私はいつもFirstOrDefaultを(使用することを好む)とそのnullでないかどうかを確認初め

this.FirstNameTextBox.Text = dataset.student.First(n => n.ID == num).FirstName; 
0

から簡素化する:

var result = dataset.student.Where(n => n.ID == num).FirstOrDefault(); 
if(result != null) 
{ 
    this.FirstNameTextBox.Text = result.FirstName; 
} 
+0

お手伝いの声援。最初の投稿はそれをソートしました! – KingBee

関連する問題