2010-12-28 6 views
1

存在しないC#コードのエラーは、名前が「私は」行で

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 url FROM `listweb` WHERE `url` IS NOT NULL AND (`webbordkind` = '¿¿¿¿¿¿¿¿¿¿¿¿') and `nourl`= 'n' order by province, amphore limit 4 "; 
     connection.Open(); 
     Reader = command.ExecuteReader(); 


     string[] urls = new string[2]; 
     string thisrow = ""; 
     string sumthisrow = ""; 
     string urlname ; 
     while (Reader.Read()) 
     { 
      thisrow = ""; 
      for (int i = 0; i < Reader.FieldCount; i++) 
       thisrow += Reader.GetValue(i).ToString(); 
       urlname = Reader.GetValue(i).ToString(); 

       urls[i] = Reader.GetValue(i).ToString(); 

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

答えて

3

for (int i = 0; i < Reader.FieldCount; i++) 
{ 
    thisrow += Reader.GetValue(i).ToString(); 
    urlname = Reader.GetValue(i).ToString(); 
    urls[i] = Reader.GetValue(i).ToString(); 
} 

を私はまた、ループ内で連結して文字列を作成するためにあなたにないをお勧めします。最初にList<string>に入れ、最後に配列に変換します(.NET 4.0以降ではこのステップは必要ありません)。string.Joinを使用します。より良いパフォーマンスを与えるだけでなく、これにより、フィールド間にセパレータを追加することができます。

セパレータが必要ない場合は、StringBuilderを使用できます。

5

forループに括弧を追加する必要があります。それ以外の場合は、最初の文だけをループします。あなたがここに括弧が欠落している

for (int i = 0; i < Reader.FieldCount; i++) 
{ 
    thisrow +=  Reader.GetValue(i).ToString(); 
    urlname = Reader.GetValue(i).ToString(); 
    urls[i] =  Reader.GetValue(i).ToString(); 
} 
+2

あなたは速く、あなたは勝った;) –

+0

@InSane:ああ、編集のおかげで! – BoltClock

+0

心配しないでください! :-)あなたは答えに私を打つので、私は自分自身を何らかの方法で少なくともat- – InSane

1

FORループの中カッコがありません。変数iはFORループ内でのみ使用できます。これは、ループの1行だけです。

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

    urls[i] = Reader.GetValue(i).ToString(); 
} 
関連する問題