zoukankan      html  css  js  c++  java
  • 使用C#开发数据库应用系统

     

     

    第一章 初识Windows程序

    01.浅谈控制台应用

       解析:控制台应用程序:dos窗口中显示

       Windows窗体应用程序:有控件参与的,支持事件的一种程序

    02.关于窗体项目的注意点:

                /*01.一个解决方案下可以包含多个项目,

                 * 一个项目下可以包含多个窗体

                 * 02.如何设置一个项目下的某个窗体为启动窗体???

                 * 解析:通过更改Program.csMain方法中最后一行代码设置

                 * 03.控件的Name属性相当于隐藏值,一定要改

                 *    真正在窗体显示内容的是Text属性

                 * 04.如果一个解决方案下有多个项目,如何设置某个项目为启动项??

                 * 解析:可以对项目点击右键→设为启动项

                 * 05.机房的项目如何保存,或者保存后如何打开???

                 * 解析:可以将解决方案另存为到指定的项目下,下次

                 * 直接打开sln文件就可以了

                 *

                 * 06.事件激发错误问题???

                  (这个正常,现在大家都事件的概念还不太理解,

                 * 随着学习的深入大家就会了解)

                 * 解析:注意什么时候激发事件

                 *

                 * 07.如何让窗体运行后无法改变大小?

                 * 解析:通过如下设置:

                 * 01.禁用最大化按钮

                 * 02.设置FormBorderStyle属性为任何一个以Fixed开头的属性都OK

                 */                                                           

    03..在VS中创建一个窗体后,所有的窗体都继承自Form类

    04.构造函数:

        解析:在一个类中,方法名和类名相同,并且没有返回值类型的方法,称为构造函数

        作用:做初始化工作

    05.什么是事件之事件详解

        解析:由外界事物(猎枪)激发另一个事物(小鸟)的状态发生改变的情况。

           //事件看起来像一个带参方法,2个参数

            //sender:代表的是事件源:事件的激发者

            //e:事件的参数:和事件相关的一些信息!

    06.窗体变色练习

     解析:事件(窗体的Click事件)

      This:当前窗体对象

      this.BackColor=Color.Red;

    07.MessageBox(肯定出2分)

    //01.参数一:提示信息

       //参数二:标题文本

       //参数三:按钮设置

       //参数四:图标设置

     MessageBox.Show("恭喜您,中奖500完,请吃饭可以吗?","温馨提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);

    Warning:

    Information:

    Error:

    08.窗体传值

      解析:从Login窗体传递登陆用户名到Main窗体,可以在Main窗体中定义一个公有的变量,然后在Login窗体的登陆按钮事件中编写如下代码:

      Main frm=new Main();

      frm.name=txtName.Text;

      frm.Show();

      然后在Main的load事件中为Label控件赋值。

    09.真正退出程序

       在窗体的FormClosing事件中,书写Application.Exit();

    10.多文本框为空验证

    01.在工具箱中的任何控件都是一个类,一旦你将他拖动到Form窗体上,他就变成了一个对象,进而大家可以通过F4快捷键在属性窗口中,给她的各个属性赋值。

    11.如何解决窗体已经关闭,但是整个应用没有退出的问题?

    解析:使用Application.Exit()  会出

    12.练习重点

     01.窗体跳转

       如何从窗体A跳转到窗体B

     02.退出整个应用

     03.欢迎界面显示欢迎您,微冷的雨

    第2章 构建布局良好的Windows程序

    2015年11月21日13:45:24

    01.登陆:

      Select count(1) from student

      Where studentname= and loginpwd=?;

    02.向学生表中添加一条记录。

    03.单选按钮

    04.复选按钮

    05.菜单栏(MenuStrip)

      快捷键

       方式一:打开(&F) ,缺点:必须先用alt+字符,先定位到一级菜单,然后按F定位到相应内容

      方式二:shortCutKeys    打开(Ctrl+F)。优点:可以跳过1级菜单,直接调用需要的窗口

    和分割线

    06.ToolStrip(工具栏)

    01.整个控件中所有项目的图片和原图片大小等同,需要设置imageScalingSize:

    32x32 (整个控件)

    02.显示图像和文本选项:设置DisplayStyle的值为ImageAndText(单个Item)

    03.图像和文本的位置:TextImageRelation设置ImageBeforeText (单个Item)

    07.窗体传值

    01.菜单栏(MenuStrip)

       设置快捷键方式:

        方式一:1.设置菜单项的Text属性为(打开(&F)),

        首先必须按住alt+主菜单快捷键进入到对应的主菜单,

        然后直接按F就可以打开子窗体。

        方式二:通过菜单项的ShorCartKeys属性设置。

         创建对应的组合键,可以在主界面直接按对应的

          字母键就可以打开子窗体

     分割线的画法:

       01.插入分割线                                         

       02.输入减号(-)

    02.工具栏(ToolStrip)

       01.给工具栏项目设置图片,首先图片大小由整个ToolStrip来控制,

       设置    ImageScalingSize  值为图片本身像素值。

       02.添加每一项目的类型为DropDownButton

       03.设置Text属性为显示的文本

       04.设置DisplayStyle属性为ImageAndText,让图片和文本同时显示

       05.TextImageRelation图像与文本的相对位置

    03. application.Exit()和this.close()

    Application.Exit();//退出整个应用程序

    this.Close();//关闭当前窗体

    04.常见控件的使用

       RadioButton

        DateTimerPicker

        GroupBox

        Panel

    05.预留问题:如何让DateTimePiker不显示星期

    06.Anchor和Dock属性

       Anchor:让控件和窗体边缘的位置保持固定的像素值。

       Dock:使控件停靠在窗体的某个部位(Top,Bottom,Left,RIght),或者填充整个窗体(Fill)

    07.设置MDI窗体

       001.将Main窗体的IsMdiContainer属性设置为true

       002.在子窗体show()之前加上如下代码:

           frm.MdiParent=this;//this代表当前窗体

    面向对象提升:只要能通过点鼠标设置属性的地方,都可以通过代码实现,但是代码能实现的未必都能通过点鼠标实现!

    08.关于ReadOnly的那些事儿

        如果对TextBox设置了ReadOnly属性,那么设置字体前景色是不起作用的,必须设置BackColor为Control外的任意颜色即可。

    09.如何将数据库中Grade表中的数据绑定到下拉框中

    解析:界面上年级下拉框中显示的是年级名称,而学生表中保存的是年级编号,怎么搞??

    解析:public int GetIdByName(string gradename)

        {

            string sql="select gradeid from grade where gradeName='"+gradename+"'";

           }

    第3章 使用ListView控件展示数据

     01.ListView初步

       步骤一:图片来源于ImageList,在ImageList:

      步骤二:将ListView的两个属性和ImageList图片源进行关联

    步骤三:给ListView控件添加项

    步骤四:设置ListView显示的图标类型

    第4章 实现Windows程序的数据更新

    01.枚举类型

      001.枚举是值类型

      002.枚举本质上保存的是数字

      003.枚举中不能有方法

      004.枚举也是一种数据类型

      005.枚举一般只用来定义有限个值(10个以内)

    02.Timer控件

    两大属性:Enabled:可以控制定时器开启还是停止。

              Start():开启定时器  Stop()停止定时器

               Interval:每隔多少毫秒执行一段代码。

    重要事件:Tick:你要重复执行什么代码就写到Tick事件中。

    03.模态窗口和非模态窗口

     模态窗口:如果该窗口不关闭,那么不能操作程序中的其他任何功能。ShowDialog()

     即时修改问题

    第5章 实现Windows程序的数据绑定

    01.会用新的方式加载年级下拉框。

    02.会使用DataGridView控件展示所有学员的信息

    03.会使用DataAdapter和DataSet对象操作离线数据。

    04.Dataset:保存在客户端内存中的一个临时数据库。

     一个DataSet由多个DataTable组成。

     一个DataTable中可以有多行,每一行都是一个DataRow对象,每一列都是DataColumn对象。

    5.“请选择”能不能放到数据库中形成一条记录。

          

      登陆

      修改密码

      主界面

      新增学员信息

      修改学员信息

      按姓名查询学员信息

      成绩管理

      删除

      按年级查询学员信息

    DataAdapter和DataSet结合使用图

    第6章 数据筛选和排序

    01.TreeView控件

        *学习到了在一个TreeView控件中,每一个节点的类型都是一个TreeNode。

           *默认情况下,会自动激活TreeVuew的根节点

           *获取当前选中节点代码:tvList.SelectedNode

           *获取当前选中节点的根节点:tvList.SelectedNode.Parent(根节点对象)

           *统计TreeView控件某个节点的深度,深度是从0开始的。获取深度的属性是

               lvList.SelectedNode.Level;

           *节点中如何添加图片:ImageIndex(默认显示的图片) (SelectedImageIndex:选中后的图片)

           *Tag:专门为程序员提供的编程接口,方便用户对程序的操作 。Tag里面可以存储任意

           类型的数据,但是一个数据无论之前是什么类型,一旦被放入到Tag属性中,那么就变成了

           Object类型,所以,取出Tag属性值的时候要进行类型转换。

           *AfterSelect事件,当选中某个节点后触发的事件

    02.DataView(类)

    DataView dv=new DataView();

    dv.RowFilter();

    他说:我可以满足你只和DB交互一次,后续所有的查询操作(过滤)都由我来完成。

       *DataView干啥的?

       解析:用来筛选数据集DataSet中某张表的数据,换句白话来说,就是取出学生表中

       一部分符合条件的数据,然后保存到DataView对象中。DataView只是客户端保存数据的一个

       容器,和DataSet呀,DataTable呀!一样。

       *DataSet和DataView和DataTable有什么关系?

       解析:这里有3分。

       DataSet包含多个DataTable。一个DataTable可以拥有多个DataView

       *DataRow有一个属性叫RowFilter,可以对表中的数据进行筛选过滤。

       dv.RowFilter="where后面的内容"; 例如:dv.RowFilter="gradeid="+gid+"";

      

    2015年11月30日16:48:39

    作业:

    1.在根据年级名称查询学生信息窗体中,如下

    右键菜单中有一项叫录入成绩

    2.

    3.清空

    4.添加学生信息成功后,返回主键值。

    第七章  航班系统   (周四下午前)

    第八章 商品管理系统

      

  • 相关阅读:
    1094 纪念品分组
    1803 凌乱的yyy
    1181 数列分段1
    1223排队接水
    1616 疯狂的采药(完全背包问题)
    1305 新二叉树
    1280 尼克的任务
    1020 导弹拦截
    快速学会如何使用Shiro
    mysql 让清空表且自增的id重新从0开始的命令
  • 原文地址:https://www.cnblogs.com/weiguangyi/p/5152601.html
Copyright © 2011-2022 走看看