使用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.添加学生信息成功后,返回主键值。

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

第八章 商品管理系统

时间: 2024-08-25 12:51:23

使用C#开发数据库应用系统的相关文章

使用C#开发数据库应用系统 习题

错题  不会的习题积累 1: 2:                                       3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:

《结对-自然语言进行数据库查询系统-开发环境搭建过程》

二〇一七年九月十四日晚上十点半多了一分钟 题目:自然语言进行数据库查询系统 编程语言:C# 数据库:MySql ,其他逐渐扩展 环境理论支持windows的所有版本(如果现在仍然有95,98,2000这样的系统那我也没办法了,没实际测试过...) 编译器使用:Visual Studio 2015 数据库使用:MySql数据库(计划未来支持更多) 环境搭建过程:因为环境较为特殊不需要特别搭建哈....

2.2 为方便储户,某银行拟开发计算机储蓄系统。写出问题定义并分析此系统的可行性

为方便储户,某银行拟开发计算机储蓄系统.储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名.住址.存款类型.存款日期.利率等信息,并印出存款单给储户:如果是取款,系统计算利息并印出利息清单给储户. 写出问题定义并分析系统的可行性. 答:如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名.住址(或电话号码).身份证号码.存款类型.存款日期.利率等信息,完成后由系统打印存款单给储户. 如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系

iOS开发数据库篇—SQLite的应用

iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二.具体说明 新建一个项目,在项目的主界面中放四个按钮(分别是,增加.删除.修改.查询). 1.sqlite3_open(<#const char *filename#>, <#sqlite3 **ppDb#>)函数的一些说明: (1)作用:把一个文件名称传递给他,它会自动检测这个文件是

自己开发网站全文检索系统

本文是我写的一篇数据库相关的作业Report,在这里贴出来 1. 概述 1.1. 问题提出 假如你拥有一个庞大的网站,内容又多,那么来访者往往很难找到自己所需要的东东,这时候你就需要一个站内搜索来帮助来访者更快的找到索要的资料了! 1.2. 解决的办法 搭建自己的全文检索系统.1.2.1. 什么是全文检索全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法.全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统.目前最大的搜索引擎Google和Baidu使用的就是全文检索

使用C/C++开发的Web系统开源了

详见 C++开发的论坛系统 - BBS 当然你也可以直接进入下载地址:Fetch_source_code_release_vse2008_v1.2.1.7z 目前先暂存在百度云上,近期会放入github 当前版本的代码使用的标准C/C++在Windows上开发,使用的是Visual C++ Express 2008编译 如有问题可加入QQ群:117399430 --------------------------------------------------------------------

VC开发数据库基础之ADO篇

VC开发数据库基础之ADO篇 -------------------------------------------------------------------------------- 加入时间:2003-9-2 9:14:02 来源:小小软件园 浏览137次 -------------------------------------------------------------------------------- 一.ADO简介ADO(ActiveX Data Object)是Mic

Sybase数据库应用系统调优的五大领域

Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数据库应用系统调优的五大领域:压力测试. 应用端调优.服务器端调优.系统平台层的优化.应用架构的优化,详细介绍了作者在项目开发过程中曾经遇到的各种问题及其解决办法.本文通过对“企业级 Sybase数据库应用系统的性能调优的最佳实践”的探讨,从而为这类性质的工作提供了具有普遍指导意义的参考. 1.项目背

用SignalR 2.0开发客服系统[系列2:实现聊天室]

前言 上周发表了 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 这篇文章,得到了很多帮助和鼓励,小弟在此真心的感谢大家的支持.. 这周继续系列2,实现聊天室的功能. 开发环境 开发工具:VS2013 旗舰版 数据库:未用 操作系统:WIN7旗舰版 正文开始 首先我们来看看最终效果: 正式开始: SignalR作为一个强大的集线器,已经在hub里面集成了Gorups,也就是分组管理,使用方法如下: //作用:将连接ID加入某个组 //Context.ConnectionId 连接I