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

des Codes verwirrend 16 Zeit wie a, a, a, a, b, b, b, b, c, c, c, c, d, d, d, d wie kann ich 4 nicht doppelt zu urls hinzufügen [m]. Mein Code ist Zweck URL aus der Datenbank swlwct 2 auf 4 verschiedenen Browser1 Browser zu öffnen .. aber auf Browser zeigt die gleiche URLC# auf Schleife darunter zeigen

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

Was Sie gepostet haben, ergibt keinen Sinn. Können Sie es bearbeiten, um eine tatsächliche Frage zu enthalten? Wie etwas anderes als Quellcode? –

Antwort

0

ich diesen Code nicht verstehen kann:

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

Warum fügen Sie in URLs [m] den gleichen Wert ein? nur der letzte Wert Beachten Sie, dass die Variable sumthisrow in der vorherigen Schleife halten gerade wie:

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

EDIT: Sehen Sie sich auch ein Stringbuilder für die Erstellung von thisrow Variable.


EDIT 2: Legen Sie Ihre Wegwerf Objekte in eine using-Anweisung.

Verwandte Themen