2017-02-17 7 views
-1

私は自分のプロジェクトで作業しています。すべてのチェックボックスの名前をsqlデータに変更する必要があります。すべてのチェックボックスの名前を変更

string SelectFile = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Irish\Documents\Visual Studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Animalsssssss.accdb"; 
     string SelectCode = "Select SAMPLE from Animals"; 
     OleDbConnection con2 = new OleDbConnection(SelectFile); 
     OleDbCommand com2 = new OleDbCommand(SelectCode, con2); 
     con2.Open(); 
     com2.ExecuteNonQuery(); 
     OleDbDataReader reader = null; 
     reader = com2.ExecuteReader(); 
     while (reader.Read()) 
     { 
      string[] arrays = new string[] {reader["BASICEDSeminar"].ToString()}; 
      for (int i = 0; i < arrays.Length; i++) 
      { 
       CheckBox[] cbo = new CheckBox[]{checkBox0,checkBox1,checkBox2}; 
       cbo[i].Text = arrays[i]; 

      } 
     } 
     con2.Close(); 

出力は次のようになります。

実行

前checkBox0の名前は同じです。

checkBox1の名前は同じです。

checkBox2の名前は同じです。

は、実行後

checkBox0さんは、Appleに変更されます。

checkBox0がバナナに変更されます。

checkBox0はDogに変更されます。

+0

コントロール名またはテキストを変更するかどうかはわかりません。上記のコードで何の問題が起きていますか? –

+0

'reader [" BASICEDSeminar "]'は何を返しますか? –

答えて

0

あなたは私の提案を参照することができます。私の友人を助けることを願っています!

var arrays = new string[] { "A", "B", "C" }; 
var lstCheckbox = new List<CheckBox>(); 
for (var i = 0; i < 3; i++) 
{ 
    var checkbox = new CheckBox 
    { 
     Text = arrays[i], 
     ID = "chk" + i 
    }; 
    lstCheckbox.Add(checkbox); 
} 
関連する問題