疑問:自己寫代碼遇到的問題

using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using ExpenseRecord.Model;
using ExpenseRecord.BLL;
using System.Data.SqlClient;
using System.Data;

namespace ExpenseRecord.myBureau.MessageBook
{
    public partial class LeftMenu : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public void GetMyBureau()
        {
            DataSet TreeBookGroup = new DataSet();      //創建DataSet對象:通訊簿分組
            DataSet TreeMessageBooks = new DataSet();   //創建DataSet對象:通訊簿

            TreeBookGroup = MesBookGroupBLL.GetList(" UserId=" + SessionInclude.SessionId + " order by MesGroupNum asc ");    //給DataSet賦值:通訊簿分組
            TreeMessageBooks = MessageBooksBLL.GetList("UserId=" + SessionInclude.SessionId + " order by MesName asc ");      //給DataSet賦值:通訊簿

            int CountBookGroup = TreeBookGroup.Tables[0].Rows.Count;        //根據指定條件,獲取該數據條數:通訊簿分組
            int CountMessageBooks = TreeMessageBooks.Tables[0].Rows.Count;  //根據指定條件,獲取該數據條數:通訊簿

            //判斷數據大於0
            if (CountBookGroup > 0)
            {
                #region 動態二級菜單開始
                Response.Write("<div class=/"box/">");
                Response.Write("<h2>可高亮帶緩衝的二級摺疊菜單</h2>");
                Response.Write("<ul class=/"menu/">");
                Response.Write("<li class=/"level1/"><a href=/"#none/">聯繫人分組</a>");
                Response.Write("<ul class=/"level2/">");

                //通過循環,遍歷通訊簿信息
                for (int i = 0; i < CountBookGroup; i++)
                {
                    Response.Write("<li><a href=/"#none/">" + TreeBookGroup.Tables[0].Rows[i]["MesGroupName"].ToString() + "</a></li>");
                }

                Response.Write("</ul>");
                Response.Write("</li>");
                Response.Write("<li class=/"level1/"><a href=/"#none/">索引(按姓氏)</a>");

                //判斷數據大於0
                if (CountMessageBooks > 0)
                {
                    Response.Write("<ul class=/"level2/">");

                    string[] strTransform = TransformValue(TreeMessageBooks, "MesName");

                    for (int i = 0; i < strTransform.Length; i++)
                    {
                        if (strTransform[i] != "")
                        {
                            Response.Write("<li><a href=/"#none/">" + strTransform[i] + "</a></li>");
                        }
                    }
                    Response.Write("</ul>");
                }

                Response.Write("</li>");
                Response.Write("<li class=/"level1/"><a href=/"searchBureau.aspx/" target=/"main_con/">查找(關鍵字)</a>");
                Response.Write("</li> ");
                Response.Write("<li class=/"level1/"><a href=/"#none/">管理分組</a></li>");
                Response.Write("</ul>");
                Response.Write("</div>");
                #endregion 動態二級菜單結束
            }
        }

        public string[] TransformValue(DataSet ds,string ColumnName)
        {
            Transform transform = new Transform();  //創建Transform對象:將漢字轉化爲對應的大寫字母

            DataSet dsSerch = new DataSet();

            int Count = ds.Tables[0].Rows.Count;    //數據條數

            string strUpperValue = "";

            string[] strTransform = new string[23] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" };
            int[] intTransform = new int[23] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            string[] strName = new string[23] { "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" };

            //至少一條數據
            if (Count > 0)
            {
                //循環遍歷數據
                for (int i = 0; i < Count; i++)
                {
                    string strColumnName1 = ds.Tables[0].Rows[i][ColumnName].ToString();  //獲取讀取到的數據

                    //模糊出該數據的值
                    dsSerch = MessageBooksBLL.GetList(" MesName like '" + strColumnName1 + "%' order by MesName asc");

                    int SerchCount = dsSerch.Tables[0].Rows.Count;

                                        #region if(修正)
                    if (SerchCount > 0)
                    {
                        string strColumnName2 = dsSerch.Tables[0].Rows[0][ColumnName].ToString();  //獲取讀取到的數據

                        if (strColumnName2 != "")
                        {
                            strUpperValue = transform.Extract_HZ(strColumnName2);                 //轉化爲大寫之後,取得返回值

                            strColumnName2 = strColumnName2.Substring(0, 1);

                            if (strUpperValue == "")
                            {
                                strUpperValue = strColumnName2.Substring(0, 1);
                            }

                            switch (strUpperValue)
                            {
                                case "A":
                                    //計算該姓氏下的數據數目
                                    intTransform[0] += SerchCount;

                                    if (strName[0].Equals(""))
                                    {
                                        strName[0] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[0].Substring(strName[0].TrimEnd(',').Length - 1, strName[0].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[0] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[0] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[0].ToString() + ")" + " - " + strName[0].TrimEnd(',');
                                    break;

                                case "B":
                                    //計算該姓氏下的數據數目
                                    intTransform[1] += SerchCount;

                                    if (strName[1].Equals(""))
                                    {
                                        strName[1] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[1].Substring(strName[1].TrimEnd(',').Length - 1, strName[1].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[1] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[0] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[1].ToString() + ")" + " - " + strName[1].TrimEnd(',');
                                    break;

                                case "C":
                                    //計算該姓氏下的數據數目
                                    intTransform[2] += SerchCount;

                                    if (strName[2].Equals(""))
                                    {
                                        strName[2] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[2].Substring(strName[2].TrimEnd(',').Length - 1, strName[2].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[2] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[2] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[2].ToString() + ")" + " - " + strName[2].TrimEnd(',');
                                    break;

                                case "D":
                                    //計算該姓氏下的數據數目
                                    intTransform[3] += SerchCount;

                                    if (strName[3].Equals(""))
                                    {
                                        strName[3] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[3].Substring(strName[3].TrimEnd(',').Length - 1, strName[3].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[3] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[3] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[3].ToString() + ")" + " - " + strName[3].TrimEnd(',');
                                    break;

                                case "E":
                                    //計算該姓氏下的數據數目
                                    intTransform[4] += SerchCount;

                                    if (strName[4].Equals(""))
                                    {
                                        strName[4] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[4].Substring(strName[4].TrimEnd(',').Length - 1, strName[4].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[4] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[4] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[4].ToString() + ")" + " - " + strName[4].TrimEnd(',');
                                    break;

                                case "F":
                                    //計算該姓氏下的數據數目
                                    intTransform[5] += SerchCount;

                                    if (strName[5].Equals(""))
                                    {
                                        strName[5] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[5].Substring(strName[5].TrimEnd(',').Length - 1, strName[5].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[5] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[5] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[5].ToString() + ")" + " - " + strName[5].TrimEnd(',');
                                    break;

                                case "G":
                                    //計算該姓氏下的數據數目
                                    intTransform[6] += SerchCount;

                                    if (strName[6].Equals(""))
                                    {
                                        strName[6] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[6].Substring(strName[6].TrimEnd(',').Length - 1, strName[6].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[6] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[6] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[6].ToString() + ")" + " - " + strName[6].TrimEnd(',');
                                    break;

                                case "H":
                                    //計算該姓氏下的數據數目
                                    intTransform[7] += SerchCount;

                                    if (strName[7].Equals(""))
                                    {
                                        strName[7] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[7].Substring(strName[7].TrimEnd(',').Length - 1, strName[7].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[7] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[7] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[7].ToString() + ")" + " - " + strName[7].TrimEnd(',');
                                    break;

                                case "J":
                                    //計算該姓氏下的數據數目
                                    intTransform[8] += SerchCount;

                                    if (strName[8].Equals(""))
                                    {
                                        strName[8] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[8].Substring(strName[8].TrimEnd(',').Length - 1, strName[8].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[8] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[8] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[8].ToString() + ")" + " - " + strName[8].TrimEnd(',');
                                    break;

                                case "K":
                                    //計算該姓氏下的數據數目
                                    intTransform[9] += SerchCount;

                                    if (strName[9].Equals(""))
                                    {
                                        strName[9] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[9].Substring(strName[9].TrimEnd(',').Length - 1, strName[9].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[9] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[9] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[9].ToString() + ")" + " - " + strName[9].TrimEnd(',');
                                    break;

                                case "L":
                                    //計算該姓氏下的數據數目
                                    intTransform[10] += SerchCount;

                                    if (strName[10].Equals(""))
                                    {
                                        strName[10] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[10].Substring(strName[10].TrimEnd(',').Length - 1, strName[10].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[10] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[10] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[10].ToString() + ")" + " - " + strName[10].TrimEnd(',');
                                    break;

                                case "M":
                                    //計算該姓氏下的數據數目
                                    intTransform[11] += SerchCount;

                                    if (strName[11].Equals(""))
                                    {
                                        strName[11] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[11].Substring(strName[11].TrimEnd(',').Length - 1, strName[11].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[11] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[11] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[11].ToString() + ")" + " - " + strName[11].TrimEnd(',');
                                    break;

                                case "N":
                                    //計算該姓氏下的數據數目
                                    intTransform[12] += SerchCount;

                                    if (strName[12].Equals(""))
                                    {
                                        strName[12] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[12].Substring(strName[12].TrimEnd(',').Length - 1, strName[12].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[12] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[12] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[12].ToString() + ")" + " - " + strName[12].TrimEnd(',');
                                    break;

                                case "O":
                                    //計算該姓氏下的數據數目
                                    intTransform[13] += SerchCount;

                                    if (strName[13].Equals(""))
                                    {
                                        strName[13] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[13].Substring(strName[13].TrimEnd(',').Length - 1, strName[13].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[13] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[13] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[13].ToString() + ")" + " - " + strName[13].TrimEnd(',');
                                    break;

                                case "P":
                                    //計算該姓氏下的數據數目
                                    intTransform[14] += SerchCount;

                                    if (strName[14].Equals(""))
                                    {
                                        strName[14] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[14].Substring(strName[14].TrimEnd(',').Length - 1, strName[14].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[14] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[14] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[14].ToString() + ")" + " - " + strName[14].TrimEnd(',');
                                    break;

                                case "Q":
                                    //計算該姓氏下的數據數目
                                    intTransform[15] += SerchCount;

                                    if (strName[15].Equals(""))
                                    {
                                        strName[15] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[15].Substring(strName[15].TrimEnd(',').Length - 1, strName[15].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[15] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[15] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[15].ToString() + ")" + " - " + strName[15].TrimEnd(',');
                                    break;

                                case "R":
                                    //計算該姓氏下的數據數目
                                    intTransform[16] += SerchCount;

                                    if (strName[16].Equals(""))
                                    {
                                        strName[16] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[16].Substring(strName[16].TrimEnd(',').Length - 1, strName[16].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[16] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[16] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[16].ToString() + ")" + " - " + strName[16].TrimEnd(',');
                                    break;

                                case "S":
                                    //計算該姓氏下的數據數目
                                    intTransform[17] += SerchCount;

                                    if (strName[17].Equals(""))
                                    {
                                            strName[17] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[17].Substring(strName[17].TrimEnd(',').Length - 1, strName[17].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[17] += strColumnName2 + ",";
                                        }

                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[17] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[17].ToString() + ")" + " - " + strName[17].TrimEnd(',');
                                    break;

                                case "T":
                                    //計算該姓氏下的數據數目
                                    intTransform[18] += SerchCount;

                                    if (strName[18].Equals(""))
                                    {
                                        strName[18] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[18].Substring(strName[18].TrimEnd(',').Length - 1, strName[18].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[18] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[18] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[18].ToString() + ")" + " - " + strName[18].TrimEnd(',');
                                    break;

                                case "W":
                                    //計算該姓氏下的數據數目
                                    intTransform[19] += SerchCount;

                                    if (strName[19].Equals(""))
                                    {
                                        strName[19] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[19].Substring(strName[19].TrimEnd(',').Length - 1, strName[19].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[19] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[19] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[19].ToString() + ")" + " - " + strName[19].TrimEnd(',');
                                    break;

                                case "X":
                                    //計算該姓氏下的數據數目
                                    intTransform[20] += SerchCount;

                                    if (strName[20].Equals(""))
                                    {
                                            strName[20] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[20].Substring(strName[20].TrimEnd(',').Length - 1, strName[20].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[20] += strColumnName2 + ",";
                                        }

                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[20] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[20].ToString() + ")" + " - " + strName[20].TrimEnd(',');
                                    break;

                                case "Y":
                                    //計算該姓氏下的數據數目
                                    intTransform[21] += SerchCount;

                                    if (strName[21].Equals(""))
                                    {
                                        strName[21] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[21].Substring(strName[21].TrimEnd(',').Length - 1, strName[21].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[21] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[21] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[21].ToString() + ")" + " - " + strName[21].TrimEnd(',');
                                    break;

                                case "Z":
                                    //計算該姓氏下的數據數目
                                    intTransform[22] += SerchCount;

                                    if (strName[22].Equals(""))
                                    {
                                        strName[22] += strColumnName2 + ",";
                                    }
                                    else
                                    {
                                        if (!(strName[22].Substring(strName[22].TrimEnd(',').Length - 1, strName[22].TrimEnd(',').Length).Equals(strColumnName2)))
                                        {
                                            strName[22] += strColumnName2 + ",";
                                        }
                                    }

                                    //連接出“Z(3) - Z 張”,類似形式的字符串
                                    strTransform[22] = "<B>" + strUpperValue + "</B>" + "(" + intTransform[22].ToString() + ")" + " - " + strName[22].TrimEnd(',');
                                    break;

                                default:
                                    break;

                            }
                        }
                        //查詢出數據之後,索引值改變
                        i = i + SerchCount - 1;
                    }
                    #endregion

                }
            }

            return strTransform;
        }
    }
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章