2013-01-13 3 views
-4

using System; using System.Data; using System.Windows.Forms; using System.Data.SqlClient; using System.Linq; 이름 ''enumerator ''이 (가) 현재 컨텍스트에 존재하지 않습니다.

namespace ProiectBDD 
{ 
    public partial class AdaugaIntrebari : UserControl 
    { 
     private string connstring; 

     public string Connstring 
     { 
      get { return connstring; } 
      set { connstring = value; } 
     } 

     public AdaugaIntrebari(string p_connstring) 
     { 
      connstring = p_connstring; 
      InitializeComponent(); 
      IncarcaCategorii(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (enumerator.MoveNext()) 
      { 
       label1.Text = enumerator.Current.Categorie; 
      } 
     } 

     public void IncarcaCategorii() 
     { 
      DataClasses1DataContext dc = new DataClasses1DataContext(); 
      var q = from a in dc.GetTable<Categorii>() 
        select a; 
      var enumerator = q.AsEnumerable().GetEnumerator(); 
     } 
    } 
} 

나는 이름 enumerator 내 버튼 이벤트 핸들러 방식으로 현재의 상황에 맞는 오류가 존재하지 않습니다 얻을.

private void button1_Click(object sender, EventArgs e) 
{ 
    if (enumerator.MoveNext()) 
    { 
     label1.Text = enumerator.Current.Categorie; 
    } 
} 
+1

내가 보는에 정의 된 열거가 없기 때문에 잘가 있습니다. –

+1

오류 메시지는 매우 자명합니다. –

+0

메서드 incarcaCategorii에 정의되어 있습니다. – jonny

답변

1

button1_Click 모르는 :

public void IncarcaCategorii() 
{ 
    DataClasses1DataContext dc = new DataClasses1DataContext(); 
    var q = from a in dc.GetTable<Categorii>() 
      select a; 
    var enumerator = q.AsEnumerable().GetEnumerator(); 
} // This is where "enumerator" become subject to garbage collection 

enumerator 변수가 여기에 어떻게 든 전달해야합니다 :

+0

감사합니다. 내가 필요한 것입니다. – jonny

0

enomerator 변수는

이 방법을 참조하십시오 범위에 존재하지 않는 IncrcaCategorii에만 있기 때문에 enumerator에 대해 해야합니다. 이 클래스 필드

using System; 
using System.Data; 
using System.Windows.Forms; 
using System.Linq; 

namespace ProiectBDD 
{ 
    public partial class AdaugaIntrebari : UserControl 
    { 
     private string connstring; 
     private IEnumerator<DataRow> _enumerator; 

     public string Connstring 
     { 
      get { return connstring; } 
      set { connstring = value; } 
     } 

     public AdaugaIntrebari(string p_connstring) 
     { 
      connstring = p_connstring; 
      InitializeComponent(); 
      IncarcaCategorii(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      if (_enumerator == null) return; 

      if (enumerator.MoveNext()) 
      { 
       label1.Text = _enumerator.Current.Categorie; 
      } 
     } 

     public void IncarcaCategorii() 
     { 
      DataClasses1DataContext dc = new DataClasses1DataContext(); 
      var q = from a in dc.GetTable<Categorii>() 
        select a; 
      _enumerator = q.AsEnumerable().GetEnumerator(); 

     } 
    } 
} 
0
label1.Text = enumerator.Current.Categorie.[FieldName]; 

또는 IEnumerator 어쩌면 현재 위치 컨텍스트를 벗어 선택 객체를 다시

관련 문제