2013-01-13 32 views
-4

using System; using System.Data;使用System.Windows.Forms的 ; using System.Data.SqlClient;使用System.Linq的 ;名稱「枚舉器」在當前上下文中不存在

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不會在目前情況下錯誤存在於我的按鈕事件處理函數 方法。

+1

好,那是因爲沒有在我看到的定義枚舉。 –

+1

錯誤信息是不言自明的 –

+0

它在方法incarcaCategorii – jonny

回答

1

button1_Click不知道約enumerator,因爲它只存在於IncarcaCategorii 您需要製作它一類場

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

謝謝你,這是我需要的 – jonny

0

enomerator變量並不在範圍存在

看到這個方法:

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變量需要在這裏以某種方式被傳遞:

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

或您IEnumerator的,也許現在的位置是斷章取義,選擇對象再次

相關問題