《第16讲 数据录入窗体实例精选文档.ppt》由会员分享,可在线阅读,更多相关《第16讲 数据录入窗体实例精选文档.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1616讲讲 数据录入窗体实例数据录入窗体实例1本讲稿第一页,共十四页教学目标教学目标掌握掌握DateTimePickerDateTimePicker控件的使用方法控件的使用方法掌握数据录入窗体的设计过程掌握数据录入窗体的设计过程掌握数据录入的事务处理过程掌握数据录入的事务处理过程掌握数据验证的方法掌握数据验证的方法掌握插入数据记录的方法掌握插入数据记录的方法完成数据录入窗体实例的程序编写完成数据录入窗体实例的程序编写2本讲稿第二页,共十四页教学内容教学内容一、数据录入窗体的功能和用户界面一、数据录入窗体的功能和用户界面二、数据录入窗体的设计步骤二、数据录入窗体的设计步骤三、数据录入窗体的
2、主要程序代码三、数据录入窗体的主要程序代码四、四、DateTimePickerDateTimePicker控件控件3本讲稿第三页,共十四页一、数据录入窗体的功能和用户界面一、数据录入窗体的功能和用户界面 数数据据录录入入窗窗体体实实现现对对数数据据库库XSGLXSGL的的 学学生生信信息息表表 追追加加记记录录的的功功能能。在在该该功功能能窗窗体体上上,用用户户输输入入学学生生的的基基本本信信息息后后,当当确确定定需需要要保保存存数数据据记记录录时时,将将各各数数据据项项组组成成一一条条记记录插入到录插入到 学生信息表学生信息表 中。数据录入窗体的用户界面如下图。中。数据录入窗体的用户界面如下
3、图。4本讲稿第四页,共十四页二、数据录入窗体的设计步骤(二、数据录入窗体的设计步骤(1/2)创建创建WindowsWindows应用程序项目,项目名称为应用程序项目,项目名称为“数据录入窗体实例数据录入窗体实例”。向向窗窗体体中中加加入入1 1个个 labellabel控控件件,控控件件名名为为label1label1。该该控控件件的的文文本本“学学生生信信息息录入录入”用来提示窗体的功能。用来提示窗体的功能。向向窗窗体体中中加加入入2 2个个GroupBoxGroupBox控控件件,控控件件名名为为groupBox1groupBox1、groupBox2groupBox2。这这2 2个个控件
4、用来将输入区和确认区分隔。控件用来将输入区和确认区分隔。向向控控件件groupBox1groupBox1中中加加入入1010个个LabelLabel控控件件,控控件件名名为为 label2label2label11label11。这这1010个控件用来标明各数据项的名称。个控件用来标明各数据项的名称。向向控控件件groupBox1groupBox1中中加加入入3 3个个TextBoxTextBox控控件件,这这3 3个个控控件件分分别别用用来来接接受受用用户户对学号、姓名和相片文件名的输入或显示。对学号、姓名和相片文件名的输入或显示。向向控控件件groupBox1groupBox1中中加加入入
5、1 1个个GroupBoxGroupBox控控件件,控控件件名名为为 groupBox3groupBox3。这这个个控控件件用来组合用来组合“性别性别”输入框中的两个输入框中的两个RadioButtonRadioButton控件。控件。5本讲稿第五页,共十四页二、数据录入窗体的设计步骤(二、数据录入窗体的设计步骤(2/2)向向控控件件groupBox3groupBox3中中加加入入2 2个个RadioButtonRadioButton控控件件,控控件件名名分分别别为为radioButton1radioButton1和和radioButton2radioButton2。这。这2 2个控件用来选择
6、性别的个控件用来选择性别的“男男”或或“女女”。向向控控件件groupBox1groupBox1中中加加入入5 5个个ComboBoxComboBox控控件件,供供用用户户选选择择班班级级、政政治治面面貌貌、民民族族、籍贯和学习状况。籍贯和学习状况。向向控控件件groupBox1groupBox1中中加加入入1 1个个DateTimePickerDateTimePicker控控件件,供供用用户户选选择择出出生生日日期期。该该控件的详细设计过程在控件的详细设计过程在5.5.35.5.3节中讲述。节中讲述。向控件向控件groupBox1groupBox1中加入中加入1 1个个PictureBox1
7、PictureBox1控件控件,显示学生相片。显示学生相片。向向控控件件groupBox1groupBox1中中加加入入1 1个个ButtonButton控控件件,控控件件名名为为buttonBrowsebuttonBrowse,用用来来启启动动打打开开文件对话框,让用户查找相片文件。文件对话框,让用户查找相片文件。向向控控件件groupBox2groupBox2中中加加入入3 3个个ButtonButton控控件件,控控件件名名为为buttonSavebuttonSave、buttonAfreshbuttonAfresh和和buttonCanclebuttonCancle,分别用来启动,分别
8、用来启动“保存保存”、“重置重置”和和“退出退出”功能。功能。6本讲稿第六页,共十四页三、数据录入窗体的主要程序代码(三、数据录入窗体的主要程序代码(1/6)单单击击【保保存存】按按钮钮时时,将将用用户户输输入入的的学学生生数数据据作作为为一一条条记记录录插插入入到到数数据据库库XSGL的的学学生生信信息息表表中。中。private void buttonSave_Click(object sender,System.EventArgs e)/检查检查学号学号的非空值的非空值if(textBoxNumber.Text=)MessageBox.Show(学号不能为空,请输入学号!学号不能为空,请
9、输入学号!,信息提示信息提示,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);textBoxNumber.Focus();return;/检查检查姓名姓名的非空值的非空值if(textBoxName.Text=)MessageBox.Show(姓名不能为空,请输入姓名!姓名不能为空,请输入姓名!,信息提示信息提示,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);textBoxName.Focus();return;7本讲稿第七页,共十四页三、数据录入窗体的主要程序代码(三、数据录入窗体的主要程序
10、代码(2/6)/检查该检查该“学号学号”是否已存在是否已存在string connectionString=Server=.;Database=XSGL;user id=sa;pwd=;SqlConnection myConnection=new SqlConnection(connectionString);SqlCommand myCommand=myConnection.CreateCommand();myCommand.CommandText=select*from 学生信息表学生信息表 where 学号学号=+textBoxNumber.Text.Trim()+;myConnecti
11、on.Open();SqlDataReader myDataReader=myCommand.ExecuteReader();if(myDataReader.Read()myDataReader.Close();myConnection.Close();MessageBox.Show(该学号已被占用,请输入另外的学号!该学号已被占用,请输入另外的学号!,信息提示信息提示,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return;myDataReader.Close();myConnection.Close();8本讲稿第八页,共十四页三、数
12、据录入窗体的主要程序代码(三、数据录入窗体的主要程序代码(3/6)/取用户输入的各项数据取用户输入的各项数据string number=textBoxNumber.Text;string name=textBoxName.Text;string sex;if(radioButton1.Checked)sex=radioButton1.Text;elsesex=radioButton2.Text;string Class=comboBoxClass.Text;string birthday=dateTimePicker1.Value.ToShortDateString();string face
13、=comboBoxFace.Text;string nation=comboBoxNation.Text;string place=comboBoxPlace.Text;string studyState=comboBoxStudyState.Text;9本讲稿第九页,共十四页三、数据录入窗体的主要程序代码(三、数据录入窗体的主要程序代码(4/6)/取当前应用程序取当前应用程序.exe文件的路径文件的路径string exePath=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;/取相片文件的绝对路径取相片文件的绝对路径str
14、ing photoPath=textBoxPhotoPath.Text;int n=exePath.Length;int m=photoPath.Length;if(mn)/取相对路径取相对路径photoPath=photoPath.Substring(n,m-n);/构建命令字符串,准备插入记录构建命令字符串,准备插入记录myCommand.CommandText=insert into 学生信息表学生信息表+values (xh,xm,xb,bj,csrq,zzmm,mz,jg,xxzk,txlj);10本讲稿第十页,共十四页三、数据录入窗体的主要程序代码(三、数据录入窗体的主要程序代码(
15、5/6)/设置命令参数设置命令参数/括号内的括号内的4个内容分别为:参数名、参数类型、宽度、参数所代表的列名个内容分别为:参数名、参数类型、宽度、参数所代表的列名myCommand.Parameters.Add(xh,SqlDbType.NChar,10,学号学号);myCommand.Parameters.Add(xm,SqlDbType.NChar,10,姓名姓名);myCommand.Parameters.Add(xb,SqlDbType.NChar,2,性别性别);myCommand.Parameters.Add(bj,SqlDbType.NChar,10,班级班级);myComman
16、d.Parameters.Add(csrq,SqlDbType.DateTime,8,出生日期出生日期);myCommand.Parameters.Add(zzmm,SqlDbType.NChar,10,政治面貌政治面貌);myCommand.Parameters.Add(mz,SqlDbType.NChar,10,民族民族);myCommand.Parameters.Add(jg,SqlDbType.NChar,20,籍贯籍贯);myCommand.Parameters.Add(xxzk,SqlDbType.NChar,10,学习状况学习状况);myCommand.Parameters.Ad
17、d(txlj,SqlDbType.NChar,20,相片相片URL);/给定参数的值给定参数的值myCommand.Parametersxh.Value=number;myCommand.Parametersxm.Value=name;myCommand.Parametersxb.Value=sex;myCommand.Parametersbj.Value=Class;myCommand.Parameterscsrq.Value=birthday;myCommand.Parameterszzmm.Value=face;myCommand.Parametersmz.Value=nation;my
18、Command.Parametersjg.Value=place;myCommand.Parametersxxzk.Value=studyState;myCommand.Parameterstxlj.Value=photoPath;11本讲稿第十一页,共十四页三、数据录入窗体的主要程序代码(三、数据录入窗体的主要程序代码(6/6)/执行插入命令执行插入命令myConnection.Open();myConnection.Open();myCommand.ExecuteNonQuery();myCommand.ExecuteNonQuery();myConnection.Close();myCo
19、nnection.Close();MessageBox.Show(MessageBox.Show(数据已成功保存。数据已成功保存。,信息提示信息提示,MessageBoxButtons.OK,MessageBoxIcon.Information);MessageBoxButtons.OK,MessageBoxIcon.Information);/重置输入状态,准备输入下一条记录重置输入状态,准备输入下一条记录buttonAfresh_Click(null,null);buttonAfresh_Click(null,null);除除了了以以上上插插入入记记录录的的核核心心代代码码外外,本本实实例
20、例还还需需要要有有其其他他辅辅助助代代码码共共同同完完成成程程序序功功能能,例例如如窗窗体体加加载载时时需需要要对对窗窗体体控控件件进进行行初初始化等。始化等。12本讲稿第十二页,共十四页四、四、DateTimePicker控件(控件(1/2)DateTimePickerDateTimePicker控控件件称称为为日日期期拾拾取取器器,用用户户可可以以在在这这里里选选择择或或输输入入一一个个日日期期。使使用用这这个个控控件件的的一一个个最最大大优优势势在于通过它取得的数据一定是日期格式。在于通过它取得的数据一定是日期格式。1 1、常用属性、常用属性ValueValue属属性性 设设置置或或获获
21、取取控控件件中中的的日日期期,类类型型为为DateTimeDateTime,默默认认值值为为DateTime.NowDateTime.Now。TextText属性属性 显示在控件上的文本。显示在控件上的文本。ShowCheckBoxShowCheckBox属性属性 设置在控件的左端是否显示复选框。设置在控件的左端是否显示复选框。CheckedChecked属属性性 当当ShowCheckBoxShowCheckBox属属性性为为truetrue时时,确确定定复复选选框框中中的的勾勾选选状状态态。为为truetrue时时已已勾勾选选,为为falsefalse时时未未勾勾选选,默默认认值值为为truetrue。13本讲稿第十三页,共十四页四、四、DateTimePicker控件(控件(2/2)2 2、常用事件、常用事件ValueChangedValueChanged事事件件 控控件件的的ValueValue属属性性发发生生改改变变后后激发。激发。ClickClick事件事件 单击控件时发生。单击控件时发生。DoubleClickDoubleClick事件事件 双击控件时发生。双击控件时发生。14本讲稿第十四页,共十四页
限制150内