Presentation is loading. Please wait.

Presentation is loading. Please wait.

第07讲 系统函数的使用.

Similar presentations


Presentation on theme: "第07讲 系统函数的使用."— Presentation transcript:

1 第07讲 系统函数的使用

2 本讲任务 任务一 完成“学生查询”模块

3 本讲目标 使用系统函数进行查询 使用DataSet对象 使用DataAdapter对象 使用DataGridView控件

4 任务一 完成“学生查询”模块 任务描述: 模块功能:实现学生基本信息的查询功能。
输入项目:对学生信息表(Student)中学生基本信息的查询可分为两种方式查询:可按单条件查询,即设置为主键列的查询;也可按照组合条件进行查询。在窗体中录入查询条件,包括:姓名(支持模糊查询)、性别、学号、电话等,单击【查找】按钮. 输出项目:在DataGridView控件中显示查询结果。 测试要点:是否能根据输入条件正确查询到学生信息列表。

5 任务一 完成“学生查询”模块 任务分析: (1)窗体上要用表格实现学生信息列表,使用什么工具控件?
可使用数据表格控件DataGridView。 (2)如何获取数据? 构建根据各种条件查询学生信息的SQL,然后调用数据库操作类DBHelper的getDataSet方法,获得符合条件的数据集DataSet,最后采用数据绑定,将DataSet中的数据用DataGridView表格的方式显示出来。 (3)根据各种条件查询学生信息的SQL,应怎样编写? 例如,查询姓名包括“张”的男生,查询SQL为: SELECT * FROM Student WHERE studentName LIKE '%张%' and sex = 1

6 相关知识与技能 1.在查询中使用计算列和函数
【例4-19】查询课程号为1的课程,每个学生的总评成绩(假设:总评成绩=期末成绩*0.7 + 平时成绩*0.3),显示学号、期末成绩、平时成绩和总评成绩。 【例4-20】查询的学生的姓名,以及学校名和电话,要求使用一个列。 SELECT StudentNo,Score1 期末,Score2 平时,Score1*0.7 + Score2 * 0.3 总评 FROM SCORE WHERE SubjectID = 1 SELECT '广东科学技术职业学院:' + StudentName+':' + Phone FROM STUDENT

7 字符串函数 用来寻找一个指定的字符串在另一个字符串中的起始位置 举例 描述 函数名 返回传递给它的字符串长度 LEN
SELECT CHARINDEX('ACCP','My Accp Course',1 ) 返回:4 用来寻找一个指定的字符串在另一个字符串中的起始位置 CHARINDEX 举例 描述 函数名 SELECT LEN('SQL Server课程') 返回:12 返回传递给它的字符串长度 LEN SELECT LOWER('SQL Server课程') 返回:sql server课程 把传递给它的字符串转换为小写 LOWER SELECT UPPER('sql server课程') 返回:SQL SERVER课程 把传递给它的字符串转换为大写 UPPER SELECT LTRIM (' 周智宇 ') 返回:周智宇 (后面的空格保留) 清除字符左边的空格 LTRIM SELECT RTRIM (' 周智宇 ') 返回: 周智宇(前面的空格保留) 清除字符右边的空格 RTRIM SELECT RIGHT('买卖提.吐尔松',3) 返回:吐尔松 从字符串右边返回指定数目的字符 RIGHT SELECT REPLACE('莫乐可切.杨可','可','兰') 返回:莫乐兰切.杨兰 替换一个字符串中的字符 REPLACE SELECT STUFF('ABCDEFG', 2, 3, '我的音乐我的世界') 返回:A我的音乐我的世界EFG 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 STUFF

8 日期函数 SELECT GETDATE() 返回:今天的日期 取得当前的系统日期 GETDATE 举例 描述 函数名
SELECT DATEADD(mm,4,’01/01/99’) 返回:以当前的日期格式返回05/01/99 将指定的数值添加到指定的日期部分后的日期 DATEADD SELECT DATEDIFF(mm,’01/01/99’,’05/01/99’) 返回:4 两个日期之间的指定日期部分的区别 DATEDIFF SELECT DATENAME(dw,’01/01/2000’) 返回:Saturday 日期中指定日期部分的字符串形式 DATENAME SELECT DATEPART(day, ’01/15/2000’) 返回:15 日期中指定日期部分的整数形式 DATEPART

9 数学函数 SELECT ABS(-43) 返回:43 取数值表达式的绝对值 ABS 举例 描述 函数名
SELECT CEILING(43.5) 返回:44 返回大于或等于所给数字表达式的最小整数 CEILING SELECT FLOOR(43.5) 返回:43 取小于或等于指定表达式的最大整数 FLOOR SELECT POWER(5,2) 返回:25 取数值表达式的幂值 POWER SELECT ROUND(43.543,1) 返回:43.5 将数值表达式四舍五入为指定精度 ROUND SELECT SIGN(-43) 返回:-1 对于正数返回+1,对于负数返回-1,对于0 则返回0 Sign SELECT SQRT(9) 返回:3 取浮点表达式的平方根 Sqrt

10 系统函数 SELECT CONVERT (VARCHAR (5),12345) 返回:字符串12345 用来转变数据类型 CONVERT
举例 描述 函数名 SELECT CURRENT_USER 返回:你登录的用户名 返回当前用户的名字 CURRENT_USER SELECT DATALENGTH ('中国A盟') 返回:7 返回用于指定表达式的字节数 DATALENGTH SELECT HOST_NAME() 返回:你所登录的计算机的名字 返回当前用户所登录的计算机名字 HOST_NAME SELECT SYSTEM_USER 返回:你当前所登录的用户名 返回当前所登录的用户名称 SYSTEM_USER SELECT USER_NAME(1) 返回:从任意数据库中返回“dbo” 从给定的用户I D返回用户名 USER_NAME

11 使用DataGridView显示数据 1.添加控件 2.设置DataGridView的属性和各列的属性。 3.设置数据源
DataPropertyName:应设置为数据集中表中相应的列名。 Frozen:列是否冻结 HeaderText:标题文本 ReadOnly:是否只读(可否编辑列) Width:列宽度 3.设置数据源 dataGridView.DataSource = 数据集.数据表

12 任务实施 1.设计“学生查询”模块界面 2.编写“学生查询”模块代码

13 界面设计 设置DataGridView的属性 设置DataGridView各列的属性。 AllowUserToAddRows :False
AlternatingRowsDefaultCellStyle.BackgroundColor:RoyalBlue 设置DataGridView各列的属性。 DataPropertyName Frozen HeaderText ReadOnly Width

14 查询关键代码 关键代码: private void btnSearch_Click(object sender, EventArgs e)
{ string sql=string.Empty; sql = "select * from student where 0=0 "; if (txtUserName.Text != "") { sql += string.Format(" and StudentName like '%{0}%'", txtUserName.Text); } if (txtStudentNo.Text != "") { sql += string.Format(" and StudentNo = '{1}'", txtStudentNo.Text); switch(cboSex.Text) case("男"): sql += " and sex = 1"; break; case("女"): sql += " and sex = 0"; break; DBHelper db = new DBHelper(); dataGridView1AutoGenerateColumns = false; dataGridView1.DataSource = db.getDataSet(sql).Tables[0]; //绑定数据

15 总结  使用SELECT查询数据,其基本语法是: SELECT <列名> FROM <表名>
[WHERE <查询条件>] [ORDER BY <排序的列名>]  判断数据是否非空,使用IS NULL。  使用TOP子句可返回前N行数据  使用LIKE子句,能进行模糊查询,即条件不明确的查询。  DataSet数据集组件为.NET提供断开式结构服务,创建DataSet使用new关键字: DataSet ds = new DataSet();  数据适配器(DataAdapter)可以为DataSet数据集填充数据,并将修改的数据提交到数据库。  使用DataGridView控件,可以用表格展现DataSet数据集中的数据。设置其数据源的常用方法为: dataGridView1.DataSource = 数据集对象.Tables[0];

16 作业

17 谢谢!


Download ppt "第07讲 系统函数的使用."

Similar presentations


Ads by Google