笔记
1.string box2text = textBox2.SelectedText;//box2text的值会随着TextBox改变
string box2text = textBox2.SelectedText;//获取指定的值,不会随着TextBox改变
c#中怎样控制textBox中text值改变而不触发textchanged事件?
1.先解开事件处理
然后赋值
然后重新绑事件处理
this.textBox1.TextChanged -= new EventHandler(textBox1_TextChanged);
this.textBox1.Text = "";
this.textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
2.什么时侯要改变,什么时侯不要改变?
可以设置textchanged事件
然后在事件里判断
if(text1.text=='')
{ 如果text值为你想要的值时,你要做的改变
}
else
{如果不是你想要的值,那么可以不写这个,或者说是另一种改变
}
2.inputbox控件
引用 MicroSoft.Visual.Basic
string str = Interaction.InputBox("请输入姓名:", "提示:XXX", "", -1, -1);
//-1,-1 表示在屏幕中央显示
首先添加引用Microsoft.VisualBasic,
然后在命名空间中引用(using Microsoft.VisualBasic;)。
3.dateTimePicker控件使用
DateTimePicker用法:
//datetime birthday=数据库值。
//datetimepicker1.value=birthday
4.SQL语句全局定义,局部赋值,可以减少代码量(不能多个功能用同一个全局变量,(使用完不清空)会引起调用出错!)
5.
插入学生信息代码
Studentnal astudent = new Studentnal();
//输入生日
label1.Text = "生日:";
dateTimePicker1.Visible = true;
if (dateTimePicker1.Value == DateTime.Today)
{
MessageBox.Show("请输入生日!");
}
else
{
astudent.studentborthdate = dateTimePicker1.Value;
opadd = 0;
}
//输入学号
if (opadd == 0)
{
string str = Interaction.InputBox("请输入学号:", "提示:1651030201", "", -1, -1);
button2.Text = "下一项";
if (str.Length == 10)
{
astudent.studentid = Convert.ToInt32(str);
opadd++;
}
else
{
MessageBox.Show("请输入正确的学号!");
opadd = 0;
}
}
//输入姓名
if (opadd == 1)
{
string str = Interaction.InputBox("请输入姓名:", "提示:XXX", "", -1, -1);
if (str == string.Empty)
{
MessageBox.Show("请输入正确的姓名!");
opadd = 1;
}
else
{
astudent.studentname = str;
opadd++;
}
}
//输入班级
if (opadd == 2)
{
string str = Interaction.InputBox("请输入班级:", "提示:16510301", "", -1, -1);
if (str.Length == 8)
{
astudent.studentclass = str;
opadd++;
}
else
{
MessageBox.Show("请输入正确的班级号!");
opadd = 2;
}
}
//输入专业
if (opadd == 3)
{
string str = Interaction.InputBox("请输入专业:", "提示:计算机", "", -1, -1);
if (str == string.Empty)
{
MessageBox.Show("请输入正确的专业!");
opadd = 3;
}
else
{
astudent.studentmajor = str;
opadd++;
}
}
//输入性别
if (opadd == 4)
{
string str = Interaction.InputBox("请输入性别:", "提示:男/女", "", -1, -1);
if (str== "男")
{
studentsex = true;
opadd=6;
}
else if (str == "女")
{
studentsex = false;
opadd=6;
}
else
{
MessageBox.Show("请输入正确的性别!");
opadd = 4;
}
}
//输入生日
//输入手机号
if (opadd == 6)
{
string str = Interaction.InputBox("请输入手机号:", "提示:11122223333", "", -1, -1);
if (str.Length == 11)
{
astudent.studentmoblie = str;
opadd++;
}
else
{
MessageBox.Show("请输入正确的手机号!");
opadd = 6;
}
}
//输入成绩A
if (opadd == 7)
{
string str = Interaction.InputBox("请输入成绩A:", "提示:0-100", "", -1, -1);
if (Convert.ToInt32(str) <= 100 && Convert.ToInt32(str) >= 0)
{
astudent.studentscorea = Convert.ToInt32(str);
opadd++;
}
else
{
MessageBox.Show("请输入正确的成绩!");
opadd = 7;
}
}
//输入成绩B
if (opadd == 8)
{
string str = Interaction.InputBox("请输入成绩B:", "提示:0-100", "", -1, -1);
if (Convert.ToInt32(str) <= 100 && Convert.ToInt32(str) >= 0)
{
astudent.studentscoreb = Convert.ToInt32(str);
opadd++;
}
else
{
MessageBox.Show("请输入正确的成绩!");
opadd = 8;
}
}
//输入成绩C
if (opadd == 9)
{
string str = Interaction.InputBox("请输入成绩C:", "提示:1-100", "", -1, -1);
if (Convert.ToInt32(str) <= 100 && Convert.ToInt32(str) >= 0)
{
astudent.studentscorec = Convert.ToInt32(str);
opadd++;
}
else
{
MessageBox.Show("请输入正确的成绩!");
opadd = 9;
}
}
if (opadd == 10)
{
string sql =
string.Format(
"insert into Student Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')",
astudent.studentid, astudent.studentname, astudent.studentclass, astudent.studentmajor, studentsex,
astudent.studentborthdate, astudent.studentmoblie, astudent.studentscorea, astudent.studentscoreb,
astudent.studentscorec);
int r = SqlHelper.ExecuteNonQuery(sql);
if (r > 0)
{
MessageBox.Show("插入信息成功!");
dateTimePicker1.Visible = false;
button2.Text = "增加";
LoadData();
}
else
{
MessageBox.Show("插入信息失败!");
button2.Text = "增加";
LoadData();
}
}
带SQL语句的数据绑定
public void loadNewData(string sql)
{
List<Student> list = new List<Student>();
SqlDataReader reader = SqlHelper.ExecuteReader(sql);
//判断是否查询到了数据
if (reader.HasRows)
{
//一条一条读取数据
while (reader.Read())
{
//StudentID(int),StudentName(varchar(MAX)),StudentClass(varchar(MAX)),StudentMajor(varchar(MAX)),
//StudentSex(bit),StudentBorthDate(data),StudentMoblie(varchar(13)),StudentScoreA(int),StudentScoreB(int),StudentScoreC(int)
Student model = new Student();
model.studentid = reader.GetInt32(0);
//正则表达式判断是否为空
model.studentname = reader.IsDBNull(1) ? "null" : reader.GetString(1);
model.studentclass = reader.IsDBNull(2) ? "null" : reader.GetString(2);
model.studentmajor = reader.IsDBNull(3) ? "null" : reader.GetString(3);
if (reader.GetBoolean(4) == true)
{
model.studentsex = '男';
}
else
{
model.studentsex = '女';
}
model.studentborthdate = reader.GetDateTime(5);
model.studentmoblie = reader.IsDBNull(6) ? "null" : reader.GetString(6);
model.studentscorea = reader.GetInt32(7);
model.studentscoreb = reader.GetInt32(8);
model.studentscorec = reader.GetInt32(9);
list.Add(model);//把model对象加到list集合中
}
}
//数据绑定需要注意一点:
//数据绑定只认属性,不认字段。
//原因:数据绑定(内部)是通过 发射 实现的。
this.dataGridView1.DataSource = list; //数据绑定
}
修改信息
//1.采集用户输入
Student model = new Student();
model.studentid = Convert.ToInt32(label1.Text) ;
//通过ID获取所有信息。存放在一个类里
//switch(textbox2.text)
Studentnal getstudent = new Studentnal();
getstudent.studentid = model.studentid;
getstudent.getstudent(getstudent.studentid);
//修改名字
if (CellText == getstudent.studentname)
{
model.studentname = textBox2.Text.ToString();
string sql = String.Format("update Student set StudentName = '{0}' where StudentID = '{1}'", model.studentname, model.studentid);
int r = (int)SqlHelper.ExecuteNonQuery(sql);
if (r > 0)
{
MessageBox.Show("succeed");
LoadData();
}
}
//修改出生日期
if (CellText == getstudent.studentborthdate.ToString())
{
model.studentborthdate = Convert.ToDateTime(textBox2.Text.ToString());
string sql = String.Format("update Student set StudentBorthDate = '{0}' where StudentID = '{1}'", model.studentborthdate, model.studentid);
int r = (int)SqlHelper.ExecuteNonQuery(sql);
if (r > 0)
{
MessageBox.Show("succeed");
LoadData();
}
}
本文介绍了一个使用C#实现的学生信息管理系统,涵盖了学生基本信息的输入、验证、修改及数据库的插入、更新操作。文章详细展示了如何利用InputBox进行信息输入,使用正则表达式进行数据验证,并通过SQL语句将学生信息存储到数据库。
785

被折叠的 条评论
为什么被折叠?



