こんにちわ
プログラム初心者です
C#でHTMLファイルを作っています(VS2010)
データベースからとってきた値をswich文で判断し記号で表示させ表にしたいです
下のコードを実行するとなぜか1番最後の列になるはずのname(area_name)が出力されません
if文がおかしいのか、foreach文のループをぬける条件がおかしいのかわかりません
アドバイスいただけますとうれしいです
よろしくお願いいたします。
C#
1if (ds.Tables[tblname].Rows.Count > 0) 2 { 3 4 string oldCode = string.Empty; 5 string oldName = string.Empty; 6 7 string boufuusetsu = string.Empty; 8 string chakuhyo = string.Empty; 9 string chakusetsu = string.Empty; 10 11 sw.Write("<table border=1>"); 12 sw.Write("<tr><td> </td><td>暴風雪</td><td>着雪</td><td>着氷</td></tr>");//表のヘッダー 13 14 15 foreach (DataRow row in ds.Tables[tblname].Rows) 16 { 17 string code = row["area_cd"].ToString(); 18 string name = row["area_name"].ToString(); 19 20 21 22 if (code == oldCode || oldCode == string.Empty) 23 { 24 //空 25 26 } 27 else 28 { 29 sw.Write("<tr><td>" + oldName + "</td><td>" + boufuusetsu + "</td>"); 30 sw.Write("<td>" + chakuhyo + "</td>"); 31 sw.Write("<td>" + chakusetsu + "</td></tr>"); 32 33 boufuusetsu = string.Empty; 34 chakuhyo = string.Empty; 35 chakusetsu = string.Empty; 36 37 } 38 39 string alrt = row["alert"].ToString();//番号 40 string alrtcode = row["alert_status_code"].ToString();//発表とか 41 string alrtname = row["alert_short_name"].ToString();//雷、暴風とか 42 43 string mark = string.Empty; 44 45 switch(alrtcode) 46 { 47 case "0"://発表 48 switch(alrt){ 49 case "32": 50 case "38": 51 mark = "◆"; 52 //sw.Write("◆");//特別警報 53 break; 54 case "02": 55 case "03": 56 57 case "08": 58 mark = "●";//警報 59 break; 60 case "13": 61 case "10": 62 case "18": 63 case "15": 64 65 mark = "▲";//注意報 66 break; 67 } 68 break; 69 70 case "1"://警報から注意報 71 sw.Write("▽"); 72 break; 73 74 case "2"://継続 75 switch(alrt){ 76 case "32": 77 case "33": 78 79 mark = "◇";//特別警報 80 break; 81 case "02": 82 case "03": 83 84 mark = "○";//特別警報 85 break; 86 case "13": 87 case "10": 88 case "18": 89 90 mark = "△";//注意報 91 break; 92 } 93 break; 94 95 case "3"://解除 96 mark = "×"; 97 break; 98 99 } 100 101 switch(alrtname) 102 { 103 case "暴風雪": 104 case "風雪": 105 boufuusetsu = mark; 106 break; 107 108 109 110 case "暴風": 111 case "強風": 112 bouhuu = mark; 113 break; 114 case "着氷": 115 chakuhyo = mark; 116 break; 117 case "着雪": 118 chakusetsu = mark; 119 break; 120 } 121 oldCode = code; 122 oldName = name; 123 124 125 } 126 127 } 128 129 sw.Close();
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。