示例#1
0
 public DlgSupcomStats()
 {
     DataRow current;
     this.components = null;
     this.mConnection = new OdbcConnection("DSN=gpgstats;");
     this.InitializeComponent();
     this.mConnection.Open();
     OdbcDataReader reader = new OdbcCommand("SELECT * FROM units_player", this.mConnection).ExecuteReader();
     DataTable table = new DataTable();
     using (IEnumerator<object> enumerator = (IEnumerator<object>)reader.GetSchemaTable().Rows.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             current = (DataRow) enumerator.Current;
             table.Columns.Add(current[0].ToString(), (System.Type) current[5]);
         }
     }
     while (reader.Read())
     {
         current = table.NewRow();
         for (int i = 0; i < reader.FieldCount; i++)
         {
             current[i] = reader[i];
         }
         table.Rows.Add(current);
     }
     reader.Close();
     this.mConnection.Close();
     this.pivotGridControl1.DataSource = table;
 }
示例#2
0
        public string GR_STR(string si_id, OdbcConnection conn, string rcx)
        {
            string gr_format = RC_Html_EXCEL_TAG.EXCEL_GR_TR7;
            if (rcx == "RC0" || rcx == "RC2" || rcx == "RC4") { }
            else if (rcx == "RC1" || rcx == "RC3") { gr_format = RC_Html_EXCEL_TAG.EXCEL_GR_TR9; }

            else if (rcx == "RCFIE") { gr_format = RC_Html_EXCEL_TAG.EXCEL_GR_TR15; }
            else if (rcx == "RCFJH") gr_format = RC_Html_EXCEL_TAG.EXCEL_GR_TR31;
            using (OdbcDataReader dr = new OdbcCommand(String.Format("select gi  from field_item where fi_id='{0}' and not gi is null;", si_id), conn).ExecuteReader())
            {
                if (dr.Read())
                {
                    int gi=-1;
                    if (int.TryParse(dr[0].ToString(),out gi) && gi > 0)
                    {
                        using (OdbcDataReader dr0 = new OdbcCommand(String.Format("select gr_rc, name,classno,gr_period,gr_date  from gt_item where gi='{0}'", gi), conn).ExecuteReader())
                        {
                            if (dr0.Read())
                            {
                                return string.Format(gr_format, "GR", dr0[0], dr0[1], dr0[2], dr0[3], dr0[4]);
                            }
                        }
                    }
                }
            }

            using (OdbcDataReader dr = new OdbcCommand(String.Format("select gr_rc, name,classno,gr_period,gr_date  from field_gr where fi_id='{0}'", si_id), conn).ExecuteReader())
            {
                if (dr.Read())
                {
                    return string.Format(gr_format, "GR", dr[0], dr[1], dr[2], dr[3], dr[4]);
                }
            }
            return "";
        }
示例#3
0
        public String Get_GR_STR(string si_id,OdbcConnection conn)
        {
            string GR_TXT = null;
            using (OdbcDataReader dr = new OdbcCommand(string.Format("select gr_rc,name,classno,gr_period,gr_date from sport_gr where si_id={0};", si_id), conn).ExecuteReader())
            {
                if (dr.Read())
                    GR_TXT = string.Format("{0}  {1}  {2}  {3}   {4}", dr[0], dr[1], dr[2], dr[3], dr[4]);
            }
            return GR_TXT;

        }
示例#4
0
 private void binding_btn(Form_Search_Res fsr, String sql, OdbcConnection oconn)
 {
     OdbcDataReader dr = new OdbcCommand(sql, oconn).ExecuteReader();
     while (dr.Read())
     {
         String btntxt = String.Format("{0}:{1}:{2}:{3}{4}{5}", dr[0], dr[1], dr[2], dr[3], dr[4], dr[5]);
         Button btn = new Button();
         btn.Text = btntxt;
         btn.Size = btnsize;
         btn.Font = btnfont;
         btn.Click += btn_click;
         fsr.flowLayoutPanel1.Controls.Add(btn);
     }
 }
 public Form_Reg_Stud_Item(String pstudref,String mtext)
 {
     InitializeComponent();
     studref = pstudref;
     this.Text = mtext;
     
     oconn = new OdbcConnection(Basic_HTB_Info.Conn_Str);
     oconn.Open();
     String cntsql = String.Format("Select count(*) from stud_gti where stud_ref ='{0}';", studref);
     OdbcDataReader dr = new OdbcCommand(cntsql, oconn).ExecuteReader();
     if (dr.Read())
     {
         int cnt = int.Parse(dr[0].ToString());
         if (cnt == 0)
         {
             string upsql = String.Format("update student set logdatetime=now() where stud_ref='{0}';", studref);
             OdbcCommand upcmd = new OdbcCommand(upsql, oconn);
             upcmd.ExecuteNonQuery();
             OdbcDataReader gtdr = new OdbcCommand(String.Format("SELECT gi FROM gt_item WHERE gt ='null' or gt IN (SELECT gt FROM `student` WHERE stud_ref = '{0}');", studref), oconn).ExecuteReader();
             while (gtdr.Read())
             {
                 String gi = gtdr[0].ToString();
                 OdbcCommand inscmd = new OdbcCommand(String.Format("insert into stud_gti values('{0}',{1},0)", studref, gi), oconn);
                 inscmd.ExecuteNonQuery();
             }
         }
     }
     string gti_sql =String.Format( "select a.gi,b.gid,a.reg from stud_gti a inner join gt_item b on a.gi=b.gi where stud_ref='{0}';",studref);
     OdbcDataReader gti_dr = new OdbcCommand(gti_sql,oconn).ExecuteReader();
     while (gti_dr.Read())
     {
         CheckBox cb = new CheckBox();
         cb.Name = gti_dr[0].ToString();
         if (gti_dr[2].ToString() == "1")
         {
             cb.Checked = true;
         }
         cb.Size = new System.Drawing.Size(160,160);
        
         cb.Font = btnfont;
         cb.CheckedChanged += new EventHandler(cb_CheckedChanged);
         this.tableLayoutPanel1.Controls.Add(cb);
         Label lbl = new Label();
         lbl.Font = btnfont;
         lbl.Text = gti_dr[0].ToString() + gti_dr[1].ToString() + gti_dr[2];
         lbl.AutoSize = true;
         this.tableLayoutPanel1.Controls.Add(lbl);
     }
 }
示例#6
0
        /// <summary>
        /// 進級結果并輸出進級名單porm_list
        /// </summary>
        /// <param name="si_id"></param>
        /// <param name="s_item"></param>
        /// <param name="rcx"></param>
        /// <param name="p_si_id"></param>
        /// <param name="p_s_item"></param>
        /// <param name="p_rcx"></param>
        /// <param name="conn"></param>
        /// <param name="porm_list">進級名單porm_list</param>
        /// <param name="file_name"></param>
        /// <param name="pGR"></param>
        public RC_Prom_Html_Output(string si_id,string s_item,string rcx,string p_si_id,string p_s_item,string p_rcx,OdbcConnection conn,out List<string> porm_list,string file_name,iGR pGR):base(si_id,s_item,rcx,conn,file_name,pGR)
        {
            
            int p_cnt = 0;
            if (p_s_item.Contains("(初賽)")) p_cnt = group_p_cnt * 4;
            if (p_s_item.Contains("(複賽)")) p_cnt = group_p_cnt * 2;
            if (p_s_item.Contains("(決賽)")) p_cnt = group_p_cnt;
            MPPFORM.InputStrBox inputtxt = new MPPFORM.InputStrBox("進級人數:",p_cnt.ToString());
            if (inputtxt.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                
                int out_int=p_cnt;
                if (int.TryParse(inputtxt.textbox_str, out out_int))
                {
                    p_cnt = out_int;
                    System.Windows.Forms.MessageBox.Show("人數修改為:" + p_cnt);
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("數字格式錯誤:"+inputtxt.textbox_str+" 使用默認值:"+p_cnt);
                }
            }
            StreamWriter sw = new StreamWriter(html_filename, false, Encoding.Default);
            if (file_name.ToLower().Contains(".htm"))
            {
                sw.WriteLine(RC_Html_EXCEL_TAG.html_head);
            }
            else
            {
                sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_HEAD);
            }
            sw.WriteLine("<B><center>成績公告<br>{0}</center></b>", s_item);
            sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR());
            string[] f_ar = fieldnames.Split(',');
            using (OdbcDataReader dr = new OdbcCommand(String.Format("select rc_id,{0}  from sport_rc where si_id='{1}' order by rc;", fieldnames, si_id), conn).ExecuteReader())
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("rc_key"); dt.Columns.Add("rc_id");
                foreach (string s in f_ar) dt.Columns.Add(s);
                while (dr.Read())
                {
                     DataRow d_row=dt.NewRow();
                    string key = null;
                    if (dr["rc"].ToString().Trim() == "" ) { key = "NULL"; }
                    else if (dr["note"].ToString().Contains("GR") || dr["note"].ToString() == "")
                    {
                        key = String.Format("{0}-{1}", dr["rc"], dr["rc_id"]);
                    }
                    else
                    {
                        key = String.Format("{0}-{1}-{2}", dr["note"], dr["rc"], dr["rc_id"]);
                    }
                    d_row["rc_key"] = key;
                    for (int i = 0; i < dr.FieldCount; i++)
                        d_row[dr.GetName(i)] = dr[i];
                    d_row["grk"] = d_row["rank"];
                    dt.Rows.Add(d_row);
                }
                DataView dv    =dt.DefaultView;
                dv.Sort = "rc_key";
                int drv_cnt = 0;
                porm_list = new List<string>();

                string[] porm_road_s=null;
                if(group_p_cnt==7)
                {
                    porm_road_s= new String[]{ ",4;,5;,3;,6;,2;,7;,8", "二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;二,7;一,7;一,8;二,8" };
                }else if(group_p_cnt==6)
                {
                    porm_road_s = new String[] { ",4;,5;,3;,6;,2;,7;,8", "二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;二,7;一,7;一,8;二,8" };
                }
                else
                {
                    porm_road_s =new String[]{",4;,5;,3;,6;,2;,1;,7;,8","二,4;一,4;一,5;二,5;二,3;一,3;一,6;二,6;二,2;一,2;一,1;二,1;二,7;一,7;一,8;二,8",
                        "三,4;二,4;一,4;一,5;二,5;三,5;三,3;二,3;一,3;一,6;二,6;三,6;三,2;二,2;一,2;一,1;二,1;三,1;一,7;二,7;三,7;一,8;二,8;三,8",
            "四,4;三,4;二,4;一,4;一,5;二,5;三,5;四,5;四,3;三,3;二,3;一,3;一,6;二,6;三,6;四,6;四,2;三,2;二,2;一,2;一,1;二,1;三,1;四,1;四,7;三,7;二,7;一,7;一,8;二,8;三,8;四,8"

                        };
                }
                int temp_ = p_cnt / group_p_cnt - 1;
                if (temp_ < 0) temp_ = 0;
                string[] porm_road=porm_road_s[temp_].Split(';');
                foreach (DataRowView drv in dv)
                {
                    drv_cnt++;
                    sw.WriteLine("<tr>");
                    if (drv["rank"].ToString().Trim() != "") { sw.Write("<td>{0}&nbsp;", drv_cnt); } else { sw.Write("<td>&nbsp;"); }
                    for (int j = 5; j < dv.Table.Columns.Count; j++)
                    {
                        sw.Write("<td colspan={0}>{1}&nbsp;", colspan_ar[j-4],drv[j]);
                    }
                    if (drv_cnt <= p_cnt)
                    {
                        sw.Write("Q");
                        porm_list.Add(string.Format("{0},{1},{2}", p_si_id, porm_road[(drv_cnt - 1)],drv["rc_id"]));
                    }
                }
            }
            sw.WriteLine("</table><br><br>");
            sw.WriteLine(GR_STR(si_id,conn,rcx));
            sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_END);
            sw.Flush();
            sw.Close();
            sw.Dispose();
        }
示例#7
0
        private void menu_studgti2fieldrc(Object Sender, EventArgs e)
        {
            
            String sql = "select fi_id,f_item,gi from field_item where not gi is null;";
            MPPFORM.ListBoxForm lb = new MPPFORM.ListBoxForm();
            using(OdbcConnection conn=new OdbcConnection(Basic_HTB_Info.Conn_Str))
            {
                conn.Open();
                using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader())
                {
                    while (dr.Read())
                    {
                        lb.lb.Items.Add(String.Format("{0}.{1}.{2}",dr[0],dr[1],dr[2]));
                    }
                }
                if (lb.ShowDialog() == DialogResult.OK)
                {
                    String fmt = " SELECT a.stud_ref,gi, number,name_c,concat(grade,classno) class_no FROM stud_gti a" +
" INNER JOIN student b ON a.stud_ref = b.stud_ref and a.reg=1 and gi={0} order by concat(grade,classno)";
                    int inc_cnt = 0;
                    foreach (string s in lb.lb.CheckedItems)
                    {
                        String[] s_a = s.Split('.');
                        string fiid = s_a[0];
                        string fitem = s_a[1];
                        string gi = s_a[2];
                        using (OdbcDataReader dr = new OdbcCommand(String.Format(fmt,gi),conn).ExecuteReader())
                        {
                            int cnt=1;
                            while (dr.Read())
                            {
                                String incsqlfmt = "insert into  field_rc (fi_id,s_number, number,classno,name,stud_ref,gi) values({0},'{1}','{2}','{3}','{4}','{5}',{6});";
                                string incsql = string.Format(incsqlfmt,fiid,cnt,dr["number"],dr["class_no"],dr["name_c"],dr["stud_ref"],gi);
                                OdbcCommand cmd = new OdbcCommand(incsql, conn);
                                inc_cnt += cmd.ExecuteNonQuery();
                                cnt++;
                            }
                        }
                    }
                    MessageBox.Show(inc_cnt.ToString());
                }

                conn.Close();
            }
        }
示例#8
0
        /// <summary>
        /// gt_item 中比賽項目設定為預賽項目
        /// </summary>
        /// <param name="Sender"></param>
        /// <param name="e"></param>
        private void menu_gtitem2spitem(Object Sender,EventArgs e)
        {
            using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
            {
                conn.Open();
                String sql = "select gi,gid from gt_item;";
                using (OdbcDataReader dr = new OdbcCommand(sql,conn).ExecuteReader())
                {
                    MPPFORM.ListBoxForm lb = new MPPFORM.ListBoxForm();
                    while (dr.Read())
                    {
                        lb.lb.Items.Add(String.Format("{0}.{1}(預賽)",dr[0],dr[1]));
                    }
                    if (lb.ShowDialog() == DialogResult.OK)
                    {
                        String fieldmaxid_sql="select max(fi_id) m from field_item; ";
                        int fieldmaxid=0;
                        int sportmaxid=0;
                        String sportmaxid_sql="select max(si_id) m from sport_item;";
                        using(OdbcDataReader dr0=new OdbcCommand(fieldmaxid_sql,conn).ExecuteReader())
                        {
                            if(dr0.Read())
                            {
                                fieldmaxid=int.Parse(dr0[0].ToString());
                            }
                        }
                        using(OdbcDataReader dr0=new OdbcCommand(sportmaxid_sql,conn).ExecuteReader())
                        {
                            if(dr0.Read())
                            {
                                sportmaxid=int.Parse(dr0[0].ToString());
                            }
                        }
                        int cnt=0;
                        foreach (string s in lb.lb.CheckedItems)
                        {
                            string RC1 = "RC1";
                            string title="名次,組次,道次,號碼,姓名,班級,成績,GRK,備註";
                            string[] s_a=s.Split('.');
                            string gi=s_a[0];
                            string item=s_a[1];

                            if (s.Contains("球") || s.Contains("跳"))
                            {
                                fieldmaxid++;
                                RC1 = "RCFIE";if(s.Contains("跳高")) RC1="RCFJH";
                                string incsql=string.Format("insert into field_item (fi_id,f_item,rcx,gi)values({0},'{1}','{2}',{3})",fieldmaxid,item,RC1,gi);
                                OdbcCommand cmd=new OdbcCommand(incsql,conn);
                                cnt+=cmd.ExecuteNonQuery();
                                
                            }
                            else
                            {
                                sportmaxid++;
                                String incsql=string.Format("insert into sport_item(si_id,s_item,rcx,title,gi)values({0},'{1}','{2}','{3}',{4});",sportmaxid,item,RC1,title,gi);
                                OdbcCommand cmd=new OdbcCommand(incsql,conn);
                                cnt+=cmd.ExecuteNonQuery();
                               
                            }
                        }
                        MessageBox.Show(cnt.ToString());
                    }

                }
                conn.Close();
            }
        }
示例#9
0
 private void menu_Upgrade_RC(Object sender, EventArgs e)
 {
     MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
     using(OdbcConnection conn=new OdbcConnection(Basic_HTB_Info.Conn_Str))
     {
         conn.Open();
         OdbcDataReader dr = new OdbcCommand("select si_id,s_item,rcx from sport_item order by si_id ", conn).ExecuteReader();
         while (dr.Read())
         {
             if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
             lbf.lb.Items.Add(String.Format("{0}:{1}:{2}",dr[0],dr[1],dr[2]));
         }
         conn.Close();
     }
     if (lbf.ShowDialog() == DialogResult.OK)
     {
         string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
         string si_id=s_ar[0];
         string item=s_ar[1];
         string rcx = s_ar[2];
         SportDayLib.Form_Input_RC f_RC = new Form_Input_RC(si_id, item,rcx,new Form_Input_RC_ACT_ForAdmin());
         f_RC.MdiParent = this;
         f_RC.Show();
     }
 }
示例#10
0
 private void menu_DownXls_S_ITEM_Result(Object sender, EventArgs e) {
     FolderBrowserDialog fbd = new FolderBrowserDialog();
     fbd.SelectedPath=  Basic_HTB_Info.cfg.TempdataKey("path2");
     if (fbd.ShowDialog() == DialogResult.OK)
     {
         Basic_HTB_Info.cfg.tempdata["path2"] = fbd.SelectedPath;
         MPPFORM.ListBoxForm lbf = new MPPFORM.ListBoxForm();
         using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
         {
             conn.Open();
             OdbcDataReader dr = new OdbcCommand("select si_id,s_item,rcx from sport_item;", conn).ExecuteReader();
             while (dr.Read())
             {
                 if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
                 lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
             }
             if (lbf.ShowDialog() == DialogResult.OK)
             {
                 foreach (string s in lbf.lb.CheckedItems)
                 {
                     string[] s_ar = s.Split(':');
                     string si_id = s_ar[0];
                     string item = s_ar[1];
                     string rcx = s_ar[2];
                     string f_name = String.Format("{0}\\{1}.xls", fbd.SelectedPath, item);
                     RC_Html_Output rc_html_p = new RC_Html_Output(si_id, item, rcx, conn, f_name,new RC_S_GR());
                 }
             }
             conn.Close();
         }
     }
 }
示例#11
0
 /// <summary>
 /// 輸出賽果,并輸出進級名單(Porm_Names_List)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_RC_Prom_Html_Output_Click(object sender, EventArgs e)
 {
     MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
     string title_item = sport_item.Split('(')[0];
     MessageBox.Show(title_item);
     using (OdbcDataReader dr = new OdbcCommand(String.Format("select si_id,s_item,rcx from sport_item where s_item like '{0}%' and lock_item is null ;", title_item), conn).ExecuteReader())
     {
         while (dr.Read())
         {
             if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
             lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
         }
     }
     if (lbf.ShowDialog() == DialogResult.OK && lbf.lb.SelectedIndex>-1)
     {
         string[] s_ar=lbf.lb.SelectedItem.ToString().Split(':');
         if(s_ar.Length==3)
         {
             RC_Prom_Html_Output rp_o_xls = new RC_Prom_Html_Output(this.sport_id, this.sport_item, this.sport_rcx, s_ar[0], s_ar[1], s_ar[2], conn, out Porm_Names_List, temp_Out_Html_filename.Replace(".htm",".xls"), new RC_S_GR());
             RC_Prom_Html_Output rp_o = new RC_Prom_Html_Output(this.sport_id, this.sport_item, this.sport_rcx, s_ar[0], s_ar[1], s_ar[2], conn, out Porm_Names_List, temp_Out_Html_filename,new RC_S_GR());
             Form_RC_OUT_RESULT out_r = new Form_RC_OUT_RESULT(rp_o.html_filename);
             out_r.MdiParent = this.MdiParent;
             out_r.Show();
         }
     }
 }
示例#12
0
 public int Get_Item_Cnt(string si_id, OdbcConnection conn)
 {
     int row_cnt = 0;
     using (OdbcDataReader dr = new OdbcCommand(string.Format("select count(*) from sport_rc where si_id={0};", si_id), conn).ExecuteReader())
     {
         if (dr.Read())
             row_cnt = int.Parse(dr[0].ToString());
     }
     return row_cnt;
 }
示例#13
0
        public override void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn)
        {
            TB_ARR=new TextBox[tablePanel.ColumnCount,tablePanel.RowCount];
            db_conn = conn;
            String c_fieldnames = "名\n次,次\n序,比賽\n號,姓名,班級,";
            c_fieldnames += "h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,";
            c_fieldnames += "成績,備註";
            String[] s_ar = c_fieldnames.Split(',');

            string hxsql = string.Format("select h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16 from field_item where fi_id={0} ;",  si_id);
            using (OdbcDataReader hxdr= new OdbcCommand(hxsql, conn).ExecuteReader())
            {
                hxdr.Read();
                for (int c_i = 0; c_i < tablePanel.ColumnCount; c_i++)
                {
                    if (s_ar[c_i][0] == 'h')
                    {
                        System.Windows.Forms.TextBox lb = new System.Windows.Forms.TextBox();
                        lb.Name=String.Format("fieldname_{0}_{1}", s_ar[c_i], si_id);
                        lb.Text = hxdr[s_ar[c_i]].ToString();
                        lb.TextAlign = HorizontalAlignment.Right;
                        lb.TextChanged += hx_changed;
                        tablePanel.Controls.Add(lb, c_i, 0);
                        TB_ARR[c_i, 0] = lb;
                    }
                    else
                    {
                        System.Windows.Forms.Label lb = new System.Windows.Forms.Label();
                        lb.Text = s_ar[c_i];
                        tablePanel.Controls.Add(lb, c_i, 0);
                    }
                }
            }

            string sql = string.Format("select frc_id,{0} from field_rc where fi_id={1} order by BIT_LENGTH( s_number),s_number;", feildnames, si_id);
            int r_i = 1;
            Font fnt = new Font("標楷體", 10);
            using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader())
            {
                while (dr.Read())
                {
                    string rc_id = dr[0].ToString();
                    int min_int = tablePanel.ColumnCount;
                    if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3;
                    for (int i = 0; i < min_int; i++)
                    {
                        if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note")
                        {
                            TextBox tb = new TextBox();
                            tb.TextAlign = HorizontalAlignment.Right;
                            tb.Font = fnt;
                            tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id);
                            tb.Text = dr[i + 3].ToString();
                            tablePanel.Controls.Add(tb, i, r_i);
                            TB_ARR[i, r_i] = tb;
                        }
                        else if (dr.GetName(i + 3)[0] == 'h')
                        {
                            TextBox tb = new TextBox();
                            tb.TextAlign = HorizontalAlignment.Left;
                            tb.Font = fnt;
                            tb.MaxLength = 3;
                            tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id);
                            tb.Text = dr[i + 3].ToString();
                            tablePanel.Controls.Add(tb, i, r_i);
                            TB_ARR[i, r_i] = tb;
                        }
                        else
                        {
                            TextBox lb = new TextBox(); lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i);
                        }
                    }
                    r_i++;
                }
            }

        }
示例#14
0
        public virtual void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn) 
        {
            TB_ARR=new TextBox[tablePanel.ColumnCount,tablePanel.RowCount];
            string sql = string.Format("select frc_id,{0} from field_rc where fi_id={1} order by BIT_LENGTH( s_number),s_number;", feildnames, si_id);
            int r_i = 1;
            Font fnt = new Font("標楷體", 10);
            using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader())
            {
                while (dr.Read())
                {
                    string rc_id = dr[0].ToString();
                    int min_int = tablePanel.ColumnCount;

                    if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3;
                    for (int i = 0; i < min_int; i++)
                    {
                        if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note")
                        {
                            TextBox tb = new TextBox();
                            tb.TextAlign = HorizontalAlignment.Right;
                            tb.Font = fnt;
                            tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id);
                            tb.Text = dr[i + 3].ToString();
                            tablePanel.Controls.Add(tb, i, r_i);
                            TB_ARR[i, r_i] = tb;
                        }
                        else if (dr.GetName(i + 3)[0] == 'h' || dr.GetName(i + 3)[0] == 'b')
                        {
                            TextBox tb = new TextBox();
                            tb.TextAlign = HorizontalAlignment.Right;
                            tb.Font = fnt;
                            tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id);
                            tb.Text = dr[i + 3].ToString();
                            tablePanel.Controls.Add(tb, i, r_i);
                            TB_ARR[i, r_i] = tb;
                        }else
                        {
                            TextBox lb = new TextBox(); lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i);
                        }
                    }
                    r_i++;
                }
            }
        }
示例#15
0
        public void Set_TablePanel_TextBox_ForData(TableLayoutPanel tablePanel, string feildnames, string si_id, OdbcConnection conn)
        {
            string sql = string.Format("select rc_id,{0} from sport_rc where si_id={1} order by length(group_id), group_id,road;", feildnames, si_id);
            int r_i = 1;
            Font fnt = new Font("標楷體", 10);
            using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader())
            {
                while (dr.Read())
                {
                    string rc_id = dr[0].ToString();
                    int min_int = tablePanel.ColumnCount;

                    if (dr.FieldCount - 3 < min_int) min_int = dr.FieldCount - 3;
                    for (int i = 0; i < min_int; i++)
                    {

                        if (dr.GetName(i + 3) == "rank" || dr.GetName(i + 3) == "rc" || dr.GetName(i + 3) == "grk" || dr.GetName(i + 3) == "note")
                        {
                            TextBox tb = new TextBox();
                            tb.TextAlign = HorizontalAlignment.Right;
                            tb.Font = fnt;
                            if (Lib.sysfont != null) tb.Font = Lib.sysfont ;
                            tb.Name = String.Format("{0}_{1}", dr.GetName(i + 3), rc_id);
                            tb.Text = dr[i + 3].ToString();
                            tablePanel.Controls.Add(tb, i, r_i);
                        }
                        else
                        {
                            TextBox lb = new TextBox(); if (Lib.sysfont != null) lb.Font = Lib.sysfont;
                            lb.ReadOnly = true; lb.Text = dr[i + 3].ToString(); tablePanel.Controls.Add(lb, i, r_i);
                        }
                    }
                    r_i++;
                }
            }
        }
示例#16
0
        private void menu_pulishtowebsite_field(Object sender, EventArgs e)
        {
            MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
            using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
            {
                conn.Open();
                OdbcDataReader dr = new OdbcCommand("select fi_id,f_item,rcx from field_item where lock_item is null order by fi_id;", conn).ExecuteReader();
                while (dr.Read())
                {
                    if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球"))
                    {
                        lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
                    }
                }
                if (lbf.ShowDialog() == DialogResult.OK)
                {
                    string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
                    string si_id = s_ar[0];
                    dr = new OdbcCommand("select frc_id,fi_id,rank,group_id,road,s_number,number,classno,name,rc,grk,note from field_rc where fi_id=" + si_id, conn).ExecuteReader();
                    StringBuilder sb = new StringBuilder("[");
                    while (dr.Read())
                    {
                        sb.Append("{");
                        for (int i = 0; i < dr.FieldCount; i++)
                        {
                            if (!dr.IsDBNull(i))
                            {
                                
                                if (i > 0) { sb.Append(","); }
                                if (i == 0) { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetInt32(i)+2000)); }
                                else if (i < 2) { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetValue(i))); }
                                else { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetString(i).Replace(" ", "_").Trim())); }

                            }
                        }
                        sb.Append("}");
                    }
                    sb.Append("]");
                    MessageBox.Show(sb.ToString());
                    webpost.post(sb.ToString());
                }

                conn.Close();
            }
            
        }
示例#17
0
 private void DownXls_F_ITEM_Result(String extra_filename)
 {
     FolderBrowserDialog fbd = new FolderBrowserDialog();
     fbd.SelectedPath = Basic_HTB_Info.cfg.TempdataKey("path2");
     if (fbd.ShowDialog() == DialogResult.OK)
     {
         Basic_HTB_Info.cfg.tempdata["path2"] = fbd.SelectedPath;
         MPPFORM.ListBoxForm lbf = new MPPFORM.ListBoxForm();
         using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
         {
             conn.Open();
             OdbcDataReader dr = new OdbcCommand("select fi_id,f_item,rcx from field_item;", conn).ExecuteReader();
             while (dr.Read())
             {
                 lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
             }
             if (lbf.ShowDialog() == DialogResult.OK)
             {
                 foreach (string s in lbf.lb.CheckedItems)
                 {
                     string[] s_ar = s.Split(':');
                     string si_id = s_ar[0];
                     string item = s_ar[1];
                     string rcx = s_ar[2];
                     if (item.Contains("跳高"))
                     {
                         string f_name = String.Format("{0}\\{1}.{2}", fbd.SelectedPath, item, extra_filename);
                         FieldJH_Html_Output rc_html_p = new FieldJH_Html_Output(si_id, item, rcx, conn, f_name,new RC_F_GR(),false);
                     }
                     else
                     {
                         string f_name = String.Format("{0}\\{1}.{2}", fbd.SelectedPath, item, extra_filename);
                         Field_Html_Output rc_html_p = new Field_Html_Output(si_id, item, rcx, conn, f_name,new RC_F_GR(),false);
                     }
                 }
             }
             conn.Close();
         }
     }
 }
示例#18
0
        /// <summary>
        /// 進級名(insert)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Insert_Prom_Names_Click(object sender, EventArgs e)
        {
            MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
            string title_item = sport_item.Split('(')[0];
            MessageBox.Show(title_item);
            using (OdbcDataReader dr = new OdbcCommand(String.Format("select si_id,s_item,rcx from sport_item where s_item like '{0}%' and lock_item is null;", title_item), conn).ExecuteReader())
            {
                while (dr.Read())
                {
                    if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
                    lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
                }
            }
            if (lbf.ShowDialog() == DialogResult.OK)
            {
                string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
                
                if (s_ar.Length == 3)
                {
                    string p_id = s_ar[0];
                    string p_item = s_ar[1];
                    button6.Text = p_id;
                    if (MessageBox.Show("del " + p_id + p_item+" records?", "p_item", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                    {
                        using (OdbcCommand cmd = new OdbcCommand(String.Format("delete from sport_rc where si_id={0};", p_id), conn))
                        {
                            MessageBox.Show(String.Format("del {0} {1}筆",p_id,cmd.ExecuteNonQuery()));
                            if (Porm_Names_List != null)
                            {
                                MPPFORM.MsgBox msg = new MPPFORM.MsgBox(Porm_Names_List.ToArray());
                                msg.Show();

                                foreach (string s in Porm_Names_List)
                                {
                                    string[] s_ar0 = s.Split(',');
                                    string sql = String.Format("select s_number,number,classno,name from sport_rc where rc_id={0}", s_ar0[s_ar0.Length - 1]);
                                    using (OdbcDataReader dr = new OdbcCommand(sql,conn).ExecuteReader())
                                    {
                                        if (dr.Read())
                                        {
                                            List<string> ls = new List<string>();
                                            ls.Add(s_ar0[0]); ls.Add(s_ar0[1]); ls.Add(s_ar0[2]);
                                            for (int i = 0; i < dr.FieldCount; i++) if (!dr.IsDBNull(i)) { ls.Add(dr.GetString(i)); } else { ls.Add(""); }// 
                                            Lib.inc_cmd("si_id,group_id,road,s_number,number,classno,name", "sport_rc", ls.ToArray(), conn);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
示例#19
0
 private void menu_UNLOCK_S_ITEM(Object sender, EventArgs e)
 {
     MPPFORM.ListBoxForm lbf = new MPPFORM.ListBoxForm();
     using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
     {
         conn.Open();
         OdbcDataReader dr = new OdbcCommand("select si_id,s_item,rcx from sport_item where lock_item =1;", conn).ExecuteReader();
         while (dr.Read())
         {
             if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
             lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
         }
         if (lbf.ShowDialog() == DialogResult.OK)
         {
             string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
             string si_id = s_ar[0];
             string item = s_ar[1];
             string rcx = s_ar[2];
             using (OdbcCommand cmd = new OdbcCommand(String.Format("update sport_item set lock_item=NULL where si_id={0};", si_id), conn))
             {
                 MessageBox.Show(string.Format("{0}_{1}_UNLOCK {2}筆", si_id, item, cmd.ExecuteNonQuery()));
             }
         }
         conn.Close();
     }
 }
示例#20
0
        private void LinkGRTB_Click(object sender, EventArgs e)
        {
            String si_id = sport_id;
            int cnt = 0;
            using (OdbcDataReader cnt_dr = new OdbcCommand("select count(*) from sport_gr where si_id="+si_id,conn).ExecuteReader())
            {
                cnt_dr.Read();
                cnt = int.Parse(cnt_dr[0].ToString());
                if (cnt > 0)
                {
                   int temp_int= new OdbcCommand("delete from sport_gr where si_id=" + si_id, conn).ExecuteNonQuery();
                }
            }
            MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();

            using (OdbcDataReader gr_dr = new OdbcCommand("select s_item,gr_rc,name,classno,gr_period,gr_date from sport_gr_tb order by s_item;",conn).ExecuteReader())
            {
                while (gr_dr.Read())
                {
                    lbf.lb.Items.Add(String.Format("{0};{1};{2};{3};{4};{5}",gr_dr[0],gr_dr[1],gr_dr[2],gr_dr[3],gr_dr[4],gr_dr[5]));
                }
            }
            if (lbf.ShowDialog() == DialogResult.OK)
            {
                String[] str = lbf.lb.SelectedItem.ToString().Split(';');
                String[] value_s = new String[str.Length + 1];
                value_s[0]=si_id;
                int temp_int = 1;
                foreach(String s in str)
                {
                    value_s[temp_int] = s;
                    temp_int++;
                }
                Lib.inc_cmd("si_id,s_item, gr_rc, name, classno, gr_period, gr_date","sport_gr",value_s,conn);
            }
        }
示例#21
0
 private void menu_Upgrade_Field(Object sender, EventArgs e)
 {
     MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
     using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
     {
         conn.Open();
         OdbcDataReader dr = new OdbcCommand("select fi_id,f_item,rcx from field_item  order by fi_id;", conn).ExecuteReader();
         while (dr.Read())
         {
             if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球"))
             {
                 lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
             }
         }
         conn.Close();
     }
     if (lbf.ShowDialog() == DialogResult.OK)
     {
         string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
         string si_id = s_ar[0];
         string item = s_ar[1];
         string rcx = s_ar[2];
         Form_Input_FIELD_RC_ACT fact = null;
         if (item.Contains("跳高"))
         {
             fact = new Form_Input_FIELDJUMPHIGH_RC_ACT_ForAdmin();
         }
         else
         {
             fact = new Form_Input_FIELD_RC_ACT_ForAdmin();
         }
         SportDayLib.Form_Input_Field_RC_Admin f_RC = new Form_Input_Field_RC_Admin(si_id, item, rcx, fact);
         f_RC.MdiParent = this;
         f_RC.Show();
     }
 }
示例#22
0
        private void button6_Click(object sender, EventArgs e)
        {
            int temp_int;
            if (!int.TryParse(button6.Text,out temp_int)) return; 
            MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm();
            using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str))
            {
                conn.Open();
                
                OdbcDataReader dr = new OdbcCommand("select si_id,s_item,rcx from sport_item where si_id= "+button6.Text, conn).ExecuteReader();
                while (dr.Read())
                {
                    if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) continue;
                    lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2]));
                }
                conn.Close();
            }
            if (lbf.ShowDialog() == DialogResult.OK)
            {
                string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':');
                string si_id = s_ar[0];
                string item = s_ar[1];
                string rcx = s_ar[2];
                SportDayLib.Form_Input_RC f_RC = new Form_Input_RC(si_id, item, rcx, new Form_Input_RC_ACT_ForAdmin());
                f_RC.MdiParent = Basic_HTB_Info.cfg.MDIparent;
                f_RC.Show();
            }

        }
示例#23
0
        /// <summary>
        /// stud_gti 設定為參賽名單
        /// </summary>
        /// <param name="Sender"></param>
        /// <param name="e"></param>
        private void menu_studgti2sprc(Object Sender,EventArgs e)
        {
            String[] groupname = {"一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","廿","廿一" };
            int road_p = 5;
            
            String sql = "select si_id,s_item,gi from sport_item where not gi is null;";
            MPPFORM.ListBoxForm lb = new MPPFORM.ListBoxForm();
            using(OdbcConnection conn=new OdbcConnection(Basic_HTB_Info.Conn_Str))
            {
                conn.Open();
                using (OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader())
                {
                    while (dr.Read())
                    {
                        lb.lb.Items.Add(String.Format("{0}.{1}.{2}",dr[0],dr[1],dr[2]));
                    }
                }
                if (lb.ShowDialog() == DialogResult.OK)
                {
                    String fmt = " SELECT a.stud_ref,gi, number,name_c,concat(grade,classno) class_no FROM stud_gti a" +
" INNER JOIN student b ON a.stud_ref = b.stud_ref and a.reg=1 and gi={0} order by concat(grade,classno)";
                    string cntfmt = " SELECT count(*) cnt FROM stud_gti a INNER JOIN student b ON a.stud_ref = b.stud_ref and a.reg=1 and gi={0} order by concat(grade,classno)";
                    int inc_cnt = 0;
                    foreach (string s in lb.lb.CheckedItems)
                    {
                        String[] s_a = s.Split('.');
                        string fiid = s_a[0];
                        string fitem = s_a[1];
                        string gi = s_a[2];
                        int pcount = 0;
                        using (OdbcDataReader dr = new OdbcCommand(String.Format(cntfmt, gi), conn).ExecuteReader())
                        {
                            if(dr.Read())  pcount = int.Parse(dr[0].ToString());
                        }
                        int groupnum=pcount / road_p;
                        if(pcount % road_p >0) groupnum++;
                        int[] group_road = new int[groupnum];

                        using (OdbcDataReader dr = new OdbcCommand(String.Format(fmt,gi),conn).ExecuteReader())
                        {
                            int cnt=0;
                            while (dr.Read())
                            {
                                int temp_g = cnt % groupnum;
                                group_road[temp_g]++;
                                String incsqlfmt = "insert into  sport_rc (si_id,group_id,road,s_number, number,classno,name,stud_ref,gi) values({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}');";
                                cnt++;
                                string g_n=temp_g.ToString();
                                if (temp_g < groupname.Length) g_n = groupname[temp_g];

                                string incsql = string.Format(incsqlfmt,fiid,g_n,group_road[temp_g],cnt,dr["number"],dr["class_no"],dr["name_c"],dr["stud_ref"],gi);
                                OdbcCommand cmd = new OdbcCommand(incsql, conn);
                                inc_cnt += cmd.ExecuteNonQuery();
                            }
                        }
                    }
                    MessageBox.Show(inc_cnt.ToString());
                }

                conn.Close();
            }
        }
示例#24
0
 private static Hashtable Get_Item_To_fi_id(OdbcConnection conn)
 {
     Hashtable rc_e_tb = new Hashtable();
     using (OdbcDataReader dr = new OdbcCommand("select fi_id,f_item from field_item;", conn).ExecuteReader())
     {
         while (dr.Read())
         {
             rc_e_tb.Add(dr["f_item"].ToString(), dr["fi_id"].ToString());
         }
     }
     return rc_e_tb;
 }
示例#25
0
 public RC_Html_Print(string si_id, string s_item, string rcx, OdbcConnection conn,string file_name,iGR pGR)
     : base(si_id, s_item, rcx,conn,file_name,pGR)
 {
  //   html_filename = Basic_HTB_Info.baseFilePath + "\\temp\\" + String.Format("{0}_{1}.htm", si_id, s_item);
     StreamWriter sw = new StreamWriter(html_filename,false,Encoding.GetEncoding(950));
     if (file_name.ToLower().Contains(".htm"))
     {
         sw.WriteLine(RC_Html_EXCEL_TAG.html_head);
     }
     else
     {
         sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_HEAD);
     }
     sw.WriteLine("<B><center>成績公告<br>{0}</center></b>",s_item);
     sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR());
     
     string gr_out_str=GR_STR(si_id, conn,rcx);
     int group_cnt = 0;
     using (OdbcDataReader dr = new OdbcCommand(String.Format("select rc_id,{0}  from sport_rc where si_id='{1}' order by group_id,road;", fieldnames, si_id), conn).ExecuteReader())
     {
         string group_str = null;
         bool group_flag=false;
         
         for(int i=0;i<dr.FieldCount;i++)   if(dr.GetName(i)=="group_id"){group_flag=true;break;}
         while (dr.Read())
         {
             if (group_flag)
             {
                 if (group_str == null) group_str = dr["group_id"].ToString(); if (group_str != dr["group_id"].ToString())
                 {
                     sw.WriteLine("</table><br>");
                     group_str = dr["group_id"].ToString();
                     group_cnt++;
                     if (group_cnt % 2 == 0)
                     {
                         sw.WriteLine(gr_out_str);
                         sw.WriteLine("<br class=break>");
                         sw.WriteLine("<B><center>成績公告<br>{0}</center></b>", s_item);
                     }
                     sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR());
                 }
             }
             sw.Write( "<tr>");
             for(int i=3; i<dr.FieldCount;i++)
                 sw.Write("<td colspan={0}>{1}&nbsp;",colspan_ar[i-3], dr[i]);
         }
     }
     sw.WriteLine("</table><br><br>");
     sw.WriteLine(gr_out_str);
     sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_END);
     sw.Flush();
     sw.Close();
     sw.Dispose();
 }
示例#26
0
        /// <summary>
        /// Performs a SQL query and returns all vertical matching fields as a string array. Only the first supplied column is looked for.
        /// </summary>
        /// <param name="Query">The SQL query that selects a column.</param>
        /// <param name="maxResults">Adds as LIMIT to the query. Using this, the array will never return more than xx fields in of the column. When maxResults is supplied as 0, then there is no max limit.</param>
        public static string[] runReadColumnStrings(string Query, int maxResults)
        {
            if (maxResults > 0)
                Query += " LIMIT " + maxResults;

            try
            {
                ArrayList columnBuilder = new ArrayList();
                OdbcDataReader columnReader = new OdbcCommand(Query, dbConnection).ExecuteReader();

                while (columnReader.Read())
                {
                    try { columnBuilder.Add(columnReader[0].ToString()); }
                    catch { columnBuilder.Add(""); }
                }
                columnReader.Close();

                return (string[])columnBuilder.ToArray(typeof(string));
            }
            catch (Exception ex)
            {
                Logging.logError(ex.Message + ", query = " + Query);
                return new string[0];
            }
        }
示例#27
0
        public RC_Html_Output(string si_id,string s_item,string rcx,OdbcConnection conn,string file_name,iGR pGR):base(si_id,s_item,rcx,conn,file_name,pGR)
        {
            StreamWriter sw = new StreamWriter(html_filename,false,Encoding.Default);

            if (file_name.ToLower().Contains(".htm")) {
                sw.WriteLine(RC_Html_EXCEL_TAG.html_head);
            }
            else
            {
                sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_HEAD);
            }
            sw.WriteLine("<B><center>成績公告<br>{0}</center></b>",s_item);
            sw.WriteLine("<table border=1 width=100%><tr>{0}",TH_STR());
            using (OdbcDataReader dr = new OdbcCommand(String.Format("select rc_id,{0}  from sport_rc where si_id='{1}' order by rc;", fieldnames,si_id), conn).ExecuteReader())
            {
                
                SortedList slist = new SortedList();
                while (dr.Read())
                {
                    string key = null;
                    if (dr["note"].ToString().Contains("GR")) 
                    { 
                        key = String.Format("-{0}-{1}",dr["rc"] , dr["rc_id"]);
                    }
                    else if (dr["note"].ToString().Trim() == "")
                    {
                        key = String.Format("-{0}-{1}", dr["rc"], dr["rc_id"]);
                    }
                    else if (dr["rc"].ToString().Trim() == "")
                    {
                        key = String.Format("ZZZZZZZZZ-{0}-{1}", dr["rc"], dr["rc_id"]);
                    }
                    else
                    {
                        key = String.Format("{0}-{1}-{2}", dr["note"].ToString().TrimStart(), dr["rc"], dr["rc_id"]);
                    }
                    string val = "<tr>";
                    for (int i = 3; i < dr.FieldCount; i++)
                    {
                        val += string.Format("<td colspan={0}>{1}&nbsp;", colspan_ar[i - 3], dr[i]);
                    }
                    slist.Add(key, val);
                }
                for (int i = 0; i < slist.Count; i++)
                {
                    sw.WriteLine("{0}",slist.GetByIndex(i));
                }
            }
            sw.WriteLine("</table><br><hr>");
            sw.WriteLine(GR_STR(si_id,conn,rcx));
            sw.WriteLine(RC_Html_EXCEL_TAG.EXCEL_END);
            sw.Flush();
            sw.Close();
            sw.Dispose();
        }
示例#28
0
        /// <summary>
        /// Performs a SQL query and returns the selected in the first found row as a String array. Usable for only one row.
        /// </summary>
        /// <param name="Query">The SQL query that selectes a row and the fields to get. LIMIT 1 is added.</param>
        public static string[] runReadRowStrings(string Query)
        {
            try
            {
                ArrayList rowBuilder = new ArrayList();
                OdbcDataReader rowReader = new OdbcCommand(Query + " LIMIT 1", dbConnection).ExecuteReader();

                while (rowReader.Read())
                {
                    for (int i = 0; i < rowReader.FieldCount; i++)
                    {
                        try { rowBuilder.Add(rowReader[i].ToString()); }
                        catch { rowBuilder.Add(""); }
                    }
                }
                rowReader.Close();
                return (string[])rowBuilder.ToArray(typeof(string));
            }
            catch (Exception ex)
            {
                Logging.logError(ex.Message + ", query = " + Query);
                return new string[0];
            }
        }
示例#29
0
        static void Main(string[] args)
        {
			FileInfo finfo0 = new FileInfo(initxt);
            if (finfo0.Exists)
            {
                using (StreamReader file = new StreamReader(initxt, Encoding.Default))
                {
                    Conn_Str = file.ReadToEnd().Replace("\r","").Replace("\n","");
                }
            }
            else
            {
			Console.WriteLine("error not db_config.txt");
			return;
			}
            String[] f1 = {"男A","男B","男C","男D","女A","女B","女C","女D"};
            String[] f2 =  {"男子A","男子B","男子C","男子D","女子A","女子B","女子C","女子D"};
            Object[] o = new Object[8];
            o[0] = new List<String>();
            o[1] = new List<String>();
            o[2] = new List<String>();
            o[3] = new List<String>();
            o[4] = new List<String>();
            o[5] = new List<String>();
            o[6] = new List<String>();
            o[7] = new List<String>();
            

            OdbcConnection conn = new OdbcConnection(Conn_Str);
            conn.Open();
            {
                String sql = "select s_item,rank, name  ,classno  ,rc,note from sport_rc a inner join sport_item b on a.si_id=b.si_id where lock_item=1 and trim(rank) in ('1','2','3') order by s_item,rank";
                OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader();
                Console.WriteLine("<Table>");
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    Console.Write(dr.GetName(i));
                    Console.Write("\t");
                }
                Console.WriteLine();
                while (dr.Read())
                {
                    if (dr[0].ToString().Contains("初") || dr[0].ToString().Contains("複"))
                    {
                    }
                    else
                    {
                        for(int j=0;j<f1.Length;j++){
                        if (dr[0].ToString().Contains(f1[j]) || dr[0].ToString().Contains(f2[j]))
                        {
                            
                            String line0 = "";
                            for (int i = 0; i < dr.FieldCount; i++)
                            {
                            
                                line0+=dr[i].ToString()+"\t";
                            }
                            List<String> li = (List<string>)o[j];
                            li.Add(line0);
                        }
                        }
                    }
                }

            }
            {
                String sql = "select f_item,rank,classno,name,rc,note from field_rc a inner join field_item b on a.fi_id=b.fi_id where lock_item=1 and trim(rank) in ('1','2','3') and rc >'' order by f_item,rank";
                OdbcDataReader dr = new OdbcCommand(sql, conn).ExecuteReader();
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    Console.Write(dr.GetName(i));
                    Console.Write("\t");
                }
		Console.WriteLine();
                while (dr.Read())
                {

                    if (dr[0].ToString().Contains("初") || dr[0].ToString().Contains("複"))
                    {
                    }
                    else
                   {
                        for(int j=0;j<f1.Length;j++){
                        if (dr[0].ToString().Contains(f1[j]) || dr[0].ToString().Contains(f2[j]))
                        {
                            String line0 = "";
                            for (int i = 0; i < dr.FieldCount; i++)
                            {

                                line0 += dr[i].ToString() + "\t";
                            }
                            List<String> li = (List<string>)o[j];
                            li.Add(line0);
                        }
                        }
                    }
                }

                conn.Close();

                for (int i = 0; i < f1.Length; i++)
                {
                    List<string> li =(List<String>) o[i];
                    foreach (String s in li)
                    {
                        Console.WriteLine(s);
                    }
                }
               // Console.Read();
            }

        }
示例#30
0
        /// <summary>
        /// Head 標題
        /// </summary>
        /// <returns></returns>
        public string TH_STR()
        {
            string r = "";
            /*
            for (int i = 0; i < th_ar.Length; i++) { r += String.Format("<td colspan={0}>{1}", colspan_ar[i], th_ar[i]); }
            */

            if (rcx == "RCFJH")
            {
                r = "<tr><td rowspan=2>名次<td rowspan=2>次序<td rowspan=2>比賽號<td rowspan=2>姓名<td rowspan=2>班級";
                string hxsql = string.Format("select h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16 from field_item where fi_id={0} ;",  si_id);
                using (OdbcDataReader hxdr = new OdbcCommand(hxsql, conn).ExecuteReader())
                {
                    if (hxdr.Read())
                    {
                        for(int i=0;i<hxdr.FieldCount;i++)
                        {
                            
                            r += String.Format("<td colspan=3>{0}&nbsp;", hxdr[i]);
                            if (i == 7)
                            {
                                r += "<td rowspan=2>成績<td rowspan=2>備註<tr  bgcolor=Silver>";
                            }
                        }
                    }
                }
                
            }
            else if (rcx == "RCFIE")
            {

                r = "<tr align=center><td rowspan=2>名次<td rowspan=2>次序<td rowspan=2>比賽號<td rowspan=2>姓名<td rowspan=2>班級<td colspan=3>前三次成績     <td rowspan=2>B3<td colspan=2>後二次成績<td rowspan=2>B5<td>&nbsp;<td rowspan=2>成績<td rowspan=2>備註";
                r += "<tr align=center>                                         <td>一<td>二<td>三       <td>四<td>五        <td>六";
            }
            return r;
        }