新手,求帮忙
--------------------编程问答-------------------- 上截图,上代码,这样大家都看不懂,也就帮不了你。 --------------------编程问答--------------------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#