C#和数据库技术基础.ppt_第1页
C#和数据库技术基础.ppt_第2页
C#和数据库技术基础.ppt_第3页
C#和数据库技术基础.ppt_第4页
C#和数据库技术基础.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言和数据库技术基础 猛禽 第1章第一个C 程序 NET概述与C 应用 NET是Microsoft NET的简称 是基于Windows平台的一种技术 它包含能在 NETFramework平台运行的所以编程语言 C 是微软将C C Java等多种语言优点集于一身 专为 NET开发而设计的一种完全面向对象的编程语言 IDE环境VisualStudio 它集成了 NETFramework 是目前最流行的 NET平台开发环境 第1章第一个C 程序 新建程序启动VisualStudio2010新建项目生产可执行文件开始运行经验运行的快捷键 F5 启动 运行的快捷键 Ctrl F5 开始执行不调试 第1章第一个C 程序 认识控制台应用程序文件夹的结构Program cs 该文件是项目的启动文件 在该文件中定义项目的启动入口 即Main 方法 HelloWorld exe 这个文件位于bin Debug目录下 是项目编译后生成的可执行文件 可以直接运行 认识C 程序namespace命名空间相当于Java中的packageusing用来引用其他命名空间 相当于Java中的importclass和Java一样表示类 Main 方法staticvoidMain string args staticvoidMain staticintMain string args staticintMain 关键代码Console WriteLine 从控制台输出内容Console ReadLine 从控制台输入内容 第1章第一个C 程序 C 中的数据类型C 中布尔类型为bool 字符串类型关键字为小写 string C 中的变量语法 数据类型变量名称 命名规则组成 52个英文字母 A Z a z 10个数字 0 9 下划线 除此之外不能含有其他的字符 开头 只能以字母或下划线开头 不能使用的 不能是C 中的关键字 变量名称要语义化 当多个单词组成变量名时 应该使用骆驼 Camel 命名法 第1章第一个C 程序 常量定义 常量就是在程序运行过程中保持不变的值 语法 const数据类型常量名称 值 命名规范常量名称必须具有一定的实际意义 常量名称最好以大写字母来命名 中间可以根据意义的连接性用下划线做连接 每个常量定义的右侧最好有一简单的注释 说明其作用 常量名称最好不要超过25个字符 否则可读性差 第1章第一个C 程序 Console类C 向控制台输出 三种方式 Console WriteLine Console WriteLine 要输出的值 Console WriteLIne 格式字符串 变量列表 C 向控制台读入Console ReadLine intage int Parse Console ReadLine 第1章第一个C 程序 自定义方法语法 访问修饰符返回类型方法名 参数列表 方法主体 方法命名规范方法名要有实际的含义 最好是动宾短语 用Pascal命名法 第1章第一个C 程序 类和对象语法 访问修饰符class类名 类的主体 注释C 中行注释和块注释与Java是完全相同的 分别使用 和 文档注释每一行都以 开头 折叠把方法代码写在 region和 endregion之间 第1章第一个C 程序 调试程序的步骤如下 设置断点 按F9快捷键 启动调试 按F5快捷键 在监视窗口中查看变量的当前值 第2章C 语法快速热身 if条件结构简单if结构if 条件表达式 代码块 if else结构if 条件表达式 代码块1 else 代码块2 简单if结构的流程图 第2章C 语法快速热身 多重if结构if 条件表达式1 代码块1 elseif 条件表达式2 代码块2 elseif 条件表达式3 代码块3 else 代码块4 If else结构的流程图 第2章C 语法快速热身 嵌套if结构if 条件表达式1 if 条件表达式2 代码块1 else 代码块2 else 代码块3 开始 条件表达式1 代码块1 结束 假 真 代码块2 条件表达式2 代码块3 真 假 嵌套if流程图 第2章C 语法快速热身 if结构书写规范为了使if结构更加清晰 应该把每个if或else包含的语句都用大括号括起来 相匹配的一对if和else应该左对齐内层的if结构相对于外层的if结构要有一定的缩进 大括号按规范写法 C 中大括号 和 分别各占据新的一行 而Jave中左大括号 紧跟if结构的条件后面 右大括号 则需要另起新的一行 switch结构switch结构中case字句的摆放是没有顺序的 可以把default字句放在最前面 但要注意任何两个case语句不能具有相同的值 case中的值可以是int char 和string类型 但必须是常量表达式 不允许使用变量 每个case和default语句中必须要有break语句 但如果case字句不包含其他语句 就不需要break语句 第2章C 语法快速热身 一维数组改错 intarray newint 5 0 1 循环while循环语法 while 条件表达式 代码块 do while循环语法 do 代码块 while 条件表达式 开始 条件表达式 代码块 结束 假 真 do while循环的执行过程 第2章C 语法快速热身 for循环语法 for 表达式1 表达式2 表达式3 代码块 开始 代码块 结束 假 真 for循环的执行过程 条件表达式2 条件表达式3 条件表达式1 第2章C 语法快速热身 foreach循环语法 foreach 类型元素in集合或者组合 代码块 语法中的 元素 是一个只读变量 第2章C 语法快速热身 循环应用的区别如下while循环是先判断条件表达式是否成立 若成立则执行循环体 否则结束循环 do while循环先执行一次循环体再判断条件表达式是否成立 若成立则继续循环 否则结束循环 for循环必须使用整形变量做循环计算器 通过条件表达式限定计数器变量值来控制循环 foreach 自动遍历给定集合的所有值 第2章C 语法快速热身 break语句可以用在switch for循环 foreach循环 while循环 do while循环中continue语句必须出现在for循环 foreach循环 do while循环 while循环中 二重循环 代码演示 冒泡排序外层循环n 1 内层循环n 1 I 代码演示 C 中的访问修饰符this关键字this关键字代表的是当前的对象 在类的内部 可以用this关键字访问它的成员 第3章使用属性升级MyBank 第3章使用属性升级MyBank C 的属性这种结合了字段和方法的实现方式我们称为属性 propert 语法privatestring name publicstringName get return name set name value 属性的数据类型属性的数据类型可以是一个类或一个数组 属性的访问类型只读属性 只包含get访问器只写属性 只包含set访问器读写属性 包含get和set访问器封装字段快捷键Ctrl R E 第3章使用属性升级MyBank C 中 一般为类的私有字段和属性的命名会采用不同的命名法 在为类的私有字段命名时 要以下划线 开头 随后出现的英文字母采用Camel命名法 在为类的属性命名时 采用Pascal命名法 C 中 字段和属性的区别 通常将字段指定为private 在类内部使用 将属性指定为public 对外部公开 通过get和set访问器对字段提供安全 有效范围的保护 C 中 属性和方法的区别 C 中属性get访问器和set访问器后不需要使用 因为访问器没有返回值 所以不需要指定void 第3章使用属性升级MyBank 面向对象的特征之 封装定义 封装是将数据和操作的方法保存在一起的技术 或是有选择地隐藏或公开类中的属性和方法的过程 封装为我们带来的好处避免使用非法数据赋值保证数据的完整性避免类的内部发生修改时 导致整个程序的修改 值传递和引用传递值传递是将变量的值复制一份传递给方法 使得改方法的形参和实参的值相同 在调用方法中修改形参也只是对实参复制品的数据更新 并没有真正改变实参的值 引用传递是将要传递的对象的引用复制给方法的形参 使得被调用的方法直接对引用对象进行更改 会影响实参原来的值 使用ref关键字 第4章深入C 的String类 常用字符串的处理方法Equals Compare stringstrA stringstrB IndexOf stringvalue LastIndexOf stringvalue Join stringseparator string value Split charseparator Substring intstartIndex intlength ToLower ToUpper Trim 第4章深入C 的String类 运算符 和String类方法Equals 的区别如下 通常来比较int double等数值类型的数据是否相等 Equals 通常用来比较两个对象的值是否相等 和String Empty的作用如下 为String对象分配了一个长度为0的存储空间 String Empty 为对象分配了一个长度为0的存储空间 第4章深入C 的String类 Format格式化语法 StringmyString String Format 格式字符串 参数列表 其中格式字符串中包含固定文本和格式项 格式项的形式如下 索引 对齐 格式字符串 格式化数值结果表 第4章深入C 的String类 第4章深入C 的String类 简单的类型转换隐式类型转换任何数值类型A 只要其取值范围完全包含在类型B的取值范围类 就可以隐式转换为类型B 显式类型转换sum int score bonus 注意 显式类型转换会丢失精度 数值类型与字符串之间的转换字符串转换为数值型int Parse string float Parse string double Parse string 数值型转换为字符串stringmyage age ToString 第4章深入C 的String类 常用的Convert类的类型转换方法 第6章程序数据的集散地 数据库 什么是数据库 数据库是表和数据库访问对象的集合 其中表分类存储了不同的实体信息 每一行数据对应一个实体的描述信息 当今常用数据库SQLServerOracleDB2MySQL 第6章程序数据的集散地 数据库 使用数据库的好处 可以结构化存储大量的数据信息 方便用户进行有效的检索和访问 可以有效地保持数据信息的一致性 完整性 降低数据冗余 可以满足应用的共享和安全方面的要求 数据库技术能够方便智能化地分析 产生新的有用的信息 实体实体是所有客观存在的 可以被描述的事物 记录在数据库的表中 每一 行 Row 实际上对应一个实体 这样的一行叫做 记录 Record 字段表格中的每一列 通常叫做 列 也可以称之为 字段 第6章程序数据的集散地 数据库 数据库和数据库表数据库就是表的集合 逻辑上数据库包括数据表 存储表间关系的表以及各种关系对象数据库管理系统和数据库系统数据库管理系统 DBMS DataBaseManagementSystem 是一种系统软件 由一个数据库和一组访问数据的程序构成 数据库管理系统的基本目标是要提供一个可以方便有效地存取数据库信息的环境 数据库管理系统的主要功能是维护数据库 并有效地访问数据库中各部分的数据 数据库系统 DBS DataBaseSystem 是一个实际可运行的系统 可以对系统提供的数据进行存储 维护和应用 它是由存储介质 处理对象和管理系统共同组成的集合体 通常由软件 数据库和数据库管理员组成 数据库由数据库管理系统统一管理 数据的插入 修改 和检索都要通过数据库管理系统进行 数据库管理员 DBA DataBaseAdministrator 在数据库系统中负责创建 监控和维护整个数据库 使数据能被有权限使用的人有效使用 第6章程序数据的集散地 数据库 数据冗余和数据完整性在数据库系统中 数据重复的现象就是数据冗余 Redundance 数据的完整性 Integrality 是指数据库中数据的准确性 登陆SQLServer数据库连接SQLServer数据库时需要注意以下两点 在连接SQLServer之前 SQLServer服务必须已经启动SQLServerManagementStudio可以连接和管理多个其他计算机上的SQLServer数据库 SQLServer中数据库按照用途可以划分为如下两种 系统数据库用户数据库 第6章程序数据的集散地 数据库 MicrosoftSQLServer2008提供的系统数据库Master数据库Tempdb数据库Model数据库Msdb数据库Resource数据库新建数据库连接SQLServer支持两种身份认证Windows身份验证SQLServer身份验证操作权限固定的数据库操作权限有十个db backupoperator权限可以备份数据库db datareader可以读取数据库中的数据db denydatareader不允许读取数据 第6章程序数据的集散地 数据库 创建数据库数据库文件 DatabaseFile 事务日志文件 TransactionLogFile数据库文件是存放数据库数据和数据库对象的文件 一个数据库可以有多个数据库文件 一个数据库文件只属于一个数据库 当有多个数据库文件时 有一个文件被指定为主数据库文件 PrimaryDatabaseFile 主数据库文件的扩展名为 mdf 它用来存储数据库的启动信息数据 一个数据库只能有一个主数据库文件 其他数据库文件被称为次数据库文件 SecondaryDatabaseFile 事务日志文件 TransactionLogFile 事物日志文件用来记录数据库的更新情况 事物日志文件的文件扩展名为 ldf 一个数据库可以有一个或多个事物日志文件 第6章程序数据的集散地 数据库 数据库的选项兼容级别 数据库向以前的版本兼容的级别 数据库为只读 一般该选项都设置为False 如果设置为True 则该数据库将不允许再写入数据 访问限制 指定哪些用户可以访问该数据库 可能值有以下三种 Multiple 数据库的正常状态 允许多个用户同时访问该数据库Single 用于维护操作的状态 一次只允许一个用户访问该数据库 Restricted 只有管理员或者特定的成员才能使用该数据库 自动关闭 如果设置为True的话 则最后一个用户退出后 数据库会关闭并且释放资源 对那些经常被使用的数据库 此选项不要设置为True 否则会额外增加开关数据库带来的负担 自动收缩 如果设置为True的话 则该数据库将定期自动收缩 释放没有使用的数据库磁盘空间 第7章用表组织数据库 数据完整性为了实现完整性 数据库需要做以下两方面的工作 检验每行数据是否符合要求检验每列数据是否符合要求为了实现以上要求 SQLServer提供了以下四种类型的约束 Constraint 实体完整性约束实体完整性约束要求表中的每一行数据都反映不同的实体 不能存在相同的数据行 通过索引 唯一约束 主键约束 或标识列属性 可以实现表的实体完整性 域完整性约束域完整性指的是给定输入的有效性 通过限制数据类型 检查约束 输入格式 外键约束 默认值 非空约束等多种方法 可以实现表的域完整性 引用完整性约束在强制引用完整性时 SQLServer禁止用户进行下列操作当主表中没有关联的记录时 将记录添加到字表中 更改主表中的值并导致相关表中的记录孤立 从主表中删除记录 但是相关表中仍存在与该记录匹配的相关记录 引用完整性通过主键和外键之间的引用关系来实现自定义完整性约束用户自定义完整性用来定义特定的规则 第7章用表组织数据库 主键定义 主键用来唯一标识表中的每一行 用于强制表的实体完整性 一个表只能有一个主键 主键约束了表中的行是唯一的 在选择哪个列作为主键的时候 需要考虑以下两个原则 最少性和稳定性最少性是指列数最少的键 如果可以从单个主键和组合主键中选择时 应该选择单个主键 这是因为操作一列比操作多列要快 当然该规则也有例外 例如 两个整数类型的列的组合比一个很大的字符类型的列要快 稳定性是指列中数据的特征 由于主键通常用来在两个表之间建立联系 所以主键的数据不要经常更新 理想情况下 应该永远不改变 第7章用表组织数据库 外键外键用来强制引用完整性 一个表可以有多个外键 SQLServer中常用的数据类型binary varbinary image char varchar nchar nvarchar text ntext datetime int smallint tinyint bigint float real money bit 第7章用表组织数据库 标识列标识列的数据是自动生成的 不能在该列上输入数据 如果建立了主表和子表的关系 则有以下几种情况 子表中相关项目的数据在主表中必须存在 主表中相关项的数据更改了 则子表对应的数据项也应该随之更改 在删除子表之前 不能够删除主表 第8章用SQL语句操作数据 SQL简介SQL全称是 结构化查询语言 StructuredQueryLanguage SQL是针对数据库而言的一门语言 它可以创建数据库 数据表 可以针对数据库的数据进行增 删 改 查等操作 可以创建视图 存储过程 可以赋予用户权限等 SQL的组成SQL语言主要由以下几部分组成 DML DataManipulationLanguage 数据操作语言 也称为数据操纵语言 用来插入 修改和删除数据库中的数据 如INSERT UPDATE 及DELETE等 DDL DataDefinitionLanguage 数据定义语言 用来建立数据库 数据库对象和定义其列 大部分是以CREATE开头的命令如CREATETABLE CREATEVIEW及DROPTABLE等 DQL DataQueryLanguage 数据查询语言 用来对数据库中的数据进行查询 如SELECT等 DCL DataControlLanguage 数据控制语言 用来控制数据库组件的存取许可 存取权限等 如GRANT REVOKE等除此之外 T SQL还包括变量说明 内部函数等其他的命令 第8章用SQL语句操作数据 SQL中的运算符算术运算符 赋值运算符 比较运算符 逻辑运算符AND OR NOT使用INSERT插入数据语法 Insert into 表名 列名列表 values 值列表 其中 into 是可选的 也可以省略 表名是必须的表的列名是可选的 如果省略 将依次插入所有列 多个列名和多个值列表用逗号分隔 分号 是T SQL语句终止符 分号不是必须的 第8章用SQL语句操作数据 注意事项每次插入一整行数据 不可能只插入半行或者几列数据 但允许某些列为空或使用默认值 如果违反列的非空约束 那么插入语句会检验失败 不能成功插入数据 数据值的数目必须与列数相同 每个数据值的数据类型 精度和小数位数也必须与相应的列匹配 INSERT语句不能为标识列指定值 因为它的数字是自动增长的 对于字符类型 日期类型的列 当插入数据的时候 用单引号 将其引起来 尽管可以不指定列名 但是最好明确指定插入的列和对应的值 以做到 心中有数 如果在设计表的时候指定某列不允许为空 则该列必须插入数据 否则将报告错误信息 插入的数据项 要求符合检查约束的要求 default可以为拥有默认值的列插入数据 第8章用SQL语句操作数据 一次插入多行数据通过insertselect语句将现有表中的数据添加到已存在的表中注意查询得到的数据个数 顺序 数据类型等 必须与插入的项保持一致新表必须预先建好 并且具有列的相关属性 通过selectinto语句将现有表中的数据添加到新表语法 selectidentity 数据类型 标识种子 标识增长量 as列名into新表from原始表注 该表不能预先存在通过union关键字合并数据进行插入 第8章用SQL语句操作数据 使用update更新数据语法 update表名set列名 更新值 where更新条件 其中set后面可以紧随多个数据列的更新值 不限一个 使用逗号分隔 where子句是可选的 用来限制更新数据的条件 如果不限制 则整个表的所有数据行将被更新 使用delete删除数据语法 delete from 表名 where 提示delete语句只要删除就是删除整条记录 不会只删除单个列 所以在delete后不能出现列名使用truncatetable删除数据truncatetable删除表中的所以行 但是表的结构 列 约束 索引等不会被改动 truncatetable不能用于有外键约束引用的表 这种情况下 需要使用delete语句 truncatetable比delete执行速度快 使用的系统资源和事务日志资源更少 并且删除数据后表的标识列会重新开始编号 导入和导出数据现场演示 第9章数据查询基础 使用select语句进行查询语法 selectfrom where orderby ASC或DESC 查询所有的数据行和列 查询部分行和列在查询中使用列的别名 as 查询空值 isnull 在查询中使用常量列查询返回限制的行数 top 第9章数据查询基础 orderbyASC升序DESC降序在查询中使用函数常用的四类函数字符串函数日期函数数学函数系统函数 第9章数据查询基础 部分常用的字符串函数charindex用来寻找一个指定的字符串在另一个字符串中的起始位置len返回传递给它的字符串长度upper把传递给它的字符串转换为大写ltrim清除字符左边的空格rtrim清除字符右边的空格right从字符串右边返回指定数目的字符replace替换一个字符串中的字符stuff在一个字符串中 删除指定长度的字符 并在该位置插入一个新的字符串 第9章数据查询基础 日期函数 第9章数据查询基础 日期部分参数及其缩写 第9章数据查询基础 数学函数 第9章数据查询基础 系统函数 第10章模糊查询和聚合函数 模糊查询定义 模糊查询提取的数据不一定是确切的 查询者对查询条件也是模糊的 大概的 不特别明确的 模糊查询可以使用like关键字和通配符来进行 isnull查询严格来说也是一种模糊查询 模糊查询还可以基于某个范围内的查询和某些列举值内的查询 第10章模糊查询和聚合函数 通配符定义 通配符是一类字符 它可以代替一个或多个真正的字符 查找信息时作为替代字符出现 第10章模糊查询和聚合函数 使用like进行模糊查询代码演示使用between在某个范围内查询区别between20and40Between40and20使用in在列举值内进行查询代码演示聚合函数SUM AVG MAX 和MIN COUNT 第11章联接查询和分组查询 使用GROUPBY进行分组查询在select列表中可以指定的列 被分组的列为每个分组返回一个值的表达式 如聚合函数计算出的列使用HAVING子句进行分组筛选在select语句中 WHERE GROUPBY HAVING子句和聚合函数的执行次序如下 WHERE子句从数据源中去掉不符合其搜索条件的数据 GROUPBY子句搜集数据行到各个组 HAVING子句去掉不符合其他搜索条件的各组数据行 第11章联接查询和分组查询 内联接定义 它根据表中共同的列来进行匹配 特别是两个表存在主外键关系时通常会使用到内联接查询在where子句中指定联接条件在from子句中使用innerjoin onInnerjoin用来联接两个表Inner可以省略On用来设置条件 第11章联接查询和分组查询 外联接查询外联接是至少返回一个表中的所有记录 根据匹配条件有选择性地返回另一张表的记录 左外联接查询Leftjoin onJoin后面的表是字表右外联接查询Rightjoin onJoin后面的表是主表 第14章使用ADO NET访问数据库 ADO NET简介ADO NET是 NETFramework中不可缺少的一部分 它是一组类 通过这些类 NET可以与数据源进行连接并对数据进行增 删 改 查等操作 ADO NET的主要组件 NETFramework数据提供程序包括以下四个核心对象Connection建立和特定数据源的连接Command对数据源执行命令DataReader从数据源中读取只进且只读的数据流DataAdapter用数据源填充DataSet并解析更新DataSet是专门为独立于任何数据源的数据访问而设计的 使用它 可以不必直接和数据源打交道 可以大批量地操作数据 也可以将数据绑定在控件上 第14章使用ADO NET访问数据库 Connection对象作用 连接数据库连接数据库步骤 定义连接字符串语法 DataSource 服务器名 InitialCatalog 数据库名 UserID 用户名 Pwd 密码 创建Connection对象语法 SqlConnectionconnection newSqlConnection connString 打开和数据库的连接语法 connection Open 第14章使用ADO NET访问数据库 Connection对象常用的属性和方法 第14章使用ADO NET访问数据库 常见错误数据库连接字符串各参数之间的分隔符错误数据库连接字符串中参数名称拼写错误数据库连接字符串中引号出现的位置不正确异常处理语法 try 包含可能出现异常的代码 catch 处理的异常类型 处理异常的代码 finally 无论异常是否发生 该段代码总会执行 第14章使用ADO NET访问数据库 Command对象创建Command对象的方法语法 SqlCommandcommand newSqlCommand SQL语句 Connection对象 使用Comman对象的步骤创建数据库连接创建一个Connection对象定义执行的SQL语句将对数据库执行的SQL语句赋给一个字符串创建Command对象使用已有的Connection对象和SQL语句字符串创建一个Command对象执行SQL语句使用Command对象的某个方法执行命令 第14章使用ADO NET访问数据库 Command对象的主要属性和方法 第15章使用ADO NET查询和操作数据 StringBui

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论