当前位置:编程学习 > C#/ASP.NET >>

新手,求帮忙

--------------------编程问答-------------------- 上截图,上代码,这样大家都看不懂,也就帮不了你。 --------------------编程问答--------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace xiaoliguanli
{
    public partial class Xiaoli : Form
    {
        public Xiaoli()
        {
            InitializeComponent();
        }

        private void Xiaoli_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“studentsysDataSet2.tblCalendar”中。您可以根据需要移动或移除它。
           // this.tblCalendarTableAdapter1.Fill(this.studentsysDataSet2.tblCalendar);
            // TODO: 这行代码将数据加载到表“studentsysDataSet1.tblCalendar”中。您可以根据需要移动或移除它。
           // this.tblCalendarTableAdapter.Fill(this.studentsysDataSet1.tblCalendar);
            // TODO: 这行代码将数据加载到表“studentsys.tblCalendar”中。您可以根据需要移动或移除它。
          //  this.tblCalendarTableAdapter.Fill(this.studentsys.tblCalendar);
            
            BingXueqi();
            Create_Xiaoli();
        }
        private void BingXueqi()
        {
            SqlConnection con = new SqlConnection("server=.;database=studentsys;Trusted_Connection=true");
            con.Open();
            string strSQL = "select Cal_Year as 学年,Cal_Term as 学期 from tblCalendar Order By Cal_Year,Cal_Term";
            SqlDataAdapter dp = new SqlDataAdapter(strSQL, con);
            con.Close();
            DataSet DS = new DataSet();
            dp.Fill(DS, "tblCalendar");
            dataGridViewXueqi.DataSource = DS.Tables["tblCalendar"];
         }

        private void btn_CreateXiaoli_Click(object sender, EventArgs e)
        {
            dataGridViewXiaoli.Rows.Clear();
            Create_Xiaoli();
        }
        private void Create_Xiaoli()
        {
            string Xuenian="";string Xueqi ="";
            //读取要生成校历的学年和学期
            if (dataGridViewXueqi.Rows.Count > 0) 
            { if (dataGridViewXueqi.SelectedRows.Count > 0)
                { Xuenian = dataGridViewXueqi.SelectedRows[0].Cells[0].Value.ToString(); 
                    Xueqi = dataGridViewXueqi.SelectedRows[0].Cells[1].Value.ToString();
                } 
            } 
            //构成读取要生成校历学期基本信息的SQL语句
            string strSQL = "select * from tblCalendar where Cal_Year='";
            strSQL += Xuenian;
            strSQL += "'and Cal_Term='";
            strSQL += Xueqi;
            strSQL += "'";
            //读取要生成校历学期的相关信息,包括开学日期,总周数,放假日期,放假周数等
            SqlConnection con = new SqlConnection("server=.;database=studentsys;Trusted_Connection=true");
           con.Open();
            SqlDataAdapter dp = new SqlDataAdapter(strSQL, con);
           DataSet DS = new DataSet();
            dp.Fill (DS,"tblCalendar");
            con.Close();
            DataTable myTabel = DS.Tables[0];
            //定义存放的变量
            //周次
            int mWeekIndex = 0;

            //总周数
             Int32 mWeekTotal = Convert.ToInt32(myTabel.Rows[0][6].ToString()) + Convert.ToInt32(myTabel.Rows[0][5].ToString());
            //开学日期
            DateTime Date_Kaixue = Convert.ToDateTime(myTabel.Rows[0][2]);
            //
             DateTime Date_Fangjia = Convert.ToDateTime(myTabel.Rows[0][3]);
            //
            DateTime Date_Jieshu = Convert.ToDateTime(myTabel.Rows[0][4]);
            //设置校历起始日期为开学日期
            DateTime mDate = Date_Kaixue;
            //设置校历当前月份为
            int Month_Old = 0;
            //设置校历新月份为起始月份
            int Month_New = mDate.Month;
            //记录当前日期所在单元格的列索引
            int j = 0;
            //为dataGridview控件添加一个新行
            dataGridViewXiaoli.Rows.Add(1);
            //添加周次
            dataGridViewXiaoli.Rows[mWeekIndex].Cells[0].Value = mWeekIndex + 1;
            while (DateTime.Compare(mDate, Date_Jieshu) < 0)
            {
                if (Month_Old != Month_New)
                {
                    Month_Old = Month_New;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[1].Value = Month_Old;
                }
                switch (mDate.DayOfWeek)
                {
                    case DayOfWeek.Sunday: j = 2; break;
                    case DayOfWeek.Monday: j = 3; break;
                    case DayOfWeek.Tuesday: j = 4; break;
                    case DayOfWeek.Wednesday: j = 5; break;
                    case DayOfWeek.Thursday: j = 6; break;
                    case DayOfWeek.Friday: j = 7; break;
                    case DayOfWeek.Saturday: j = 8; break;

                }
                //
                if (mDate.Month == 5 && mDate.Date.Day == 1)
                {
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Style.ForeColor = Color.Red;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Value = "五一";

                }
                else if (mDate.Month == 10 && mDate.Day == 1)
                {
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Style.ForeColor = Color.Red;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Value = "国庆";

                }
                else if (mDate.Month == 1 && mDate.Day == 1)
                {
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Style.ForeColor = Color.Red;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Value = "元旦";
                }
                else if (DateTime.Compare(mDate, Date_Fangjia) == 0)
                {
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Style.ForeColor = Color.Blue;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Value = "放假";
                }
                else
                {
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[j].Value = Convert.ToString(mDate.Day);


                }
                if (j == 8)
                {
                    dataGridViewXiaoli.Rows.Add(1);
                    mWeekIndex++;
                    dataGridViewXiaoli.Rows[mWeekIndex].Cells[0].Value = mWeekIndex + 1;
                }
                mDate = mDate.AddDays(1);
                //
                Month_New = mDate.Month;

            }
            dataGridViewXiaoli.Refresh();
        }

    }
} --------------------编程问答-------------------- 程序中的sql不是你上面图中的那个。程序中的查询没有返回记录。 --------------------编程问答-------------------- 直接下载个记事日历就完成了。

参考 --------------------编程问答-------------------- myTabel.Rows[0][6].ToString()你这样确定你这个有值? --------------------编程问答-------------------- DataGridViewRow row = datagridview1.Current.Row // 当前行
row.Cells[0] =""
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,