2010-12-29 26 views
0
MessageBox.Show(urls[m]); 

以下のコードは、a、a、a、b、b、b、b、c、c、c、c、d、d、d、どのように私は4つの非重複URLを[m]を追加することができます。私のコードは、私はこのコードを理解することはできませんc#ループで混乱する

namespace tabcontrolweb 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

     } 


     private void Form1_Load(object sender, EventArgs e) 
     { 
      string MyConString = "SERVER=192.168.0.78;" + 
       "DATABASE=webboard;" + 
       "UID=aimja;" + 
       "PASSWORD=aimjawork;" + 
       "charset=utf8;"; 
      MySqlConnection connection = new MySqlConnection(MyConString); 
      MySqlCommand command = connection.CreateCommand(); 
      MySqlDataReader Reader; 
      command.CommandText = "SELECT urlwebboard FROM `listweb` WHERE `urlwebboard` IS NOT NULL AND (`webbordkind` = 'เว็บท้องถิ่น') and `nourl`= 'n' order by province, amphore limit 4 "; 
      connection.Open(); 
      Reader = command.ExecuteReader(); 


      string[] urls = new string[4]; 
      string thisrow = ""; 
      string sumthisrow = ""; 

      while (Reader.Read()) 
      { 
       thisrow = ""; 

       for (int i = 0; i < Reader.FieldCount; i++) 
       { 
        thisrow += Reader.GetValue(i).ToString(); 


        System.IO.File.AppendAllText(@"C:\file.txt", thisrow + " " + Environment.NewLine); 
        sumthisrow = Reader.GetValue(i).ToString(); 

       } 

       for (int m = 0; m < 4 ; m++) 
       { 
        urls[m] = sumthisrow; 
        MessageBox.Show(urls[m]);   
       } 

       webBrowser1.Navigate(new Uri(urls[0])); 
       webBrowser1.Dock = DockStyle.Fill; 
       webBrowser2.Navigate(new Uri(urls[1])); 
       webBrowser2.Dock = DockStyle.Fill; 
       webBrowser3.Navigate(new Uri(urls[2])); 
       webBrowser3.Dock = DockStyle.Fill; 
       webBrowser4.Navigate(new Uri(urls[3])); 
       webBrowser4.Dock = DockStyle.Fill; 


      } 



      connection.Close(); 


     } 
+0

投稿した内容は意味をなさないものです。あなたはそれを編集して実際の質問を含めることができますか?ソースコード以外のものは? –

答えて

0

4異なるbrowser1ブラウザ2に開くために、データベースからURLをswlwctする目的です..しかし、ブラウザで同じURLを表示:

for (int m = 0; m < 4 ; m++) 
{ 
    urls[m] = sumthisrow; 
    MessageBox.Show(urls[m]);   
} 

なぜあなたはURL [m]に同じ値を挿入していますか? ベア前のループで変数sumthisrowだけ最後の値を維持することを念頭に置いては、ただ好き:

sumthisrow = Reader.GetValue(Reader.FieldCount - 1).ToString(); 

EDITは:またthisrow変数の作成のためのStringBuilderを使用することを検討してください。


EDIT 2:usingステートメントにあなたの使い捨てのオブジェクトを入れてください。