C#和数据库技术基础_第1页
C#和数据库技术基础_第2页
C#和数据库技术基础_第3页
C#和数据库技术基础_第4页
C#和数据库技术基础_第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结构的流程图开始条件表达式代码块1结束假真代码块2If-else结构的流程图第2章C#语法快速热身多重if结构if(条件表达式1){

代码块1}elseif(条件表达式2){

代码块2}elseif(条件表达式3){

代码块3}else{

代码块4}If-else结构的流程图开始条件表达式1代码块1结束假真代码块2条件表达式2代码块3条件表达式3代码块4假假真真第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(条件表达式);

开始条件表达式代码块结束假真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访问修饰符访问权限访问级别public不受任何限制最高private只有类的内部可以使用最低第3章使用属性升级MyBankC#的属性这种结合了字段和方法的实现方式我们称为属性(propert)。语法

privatestring_name;publicstringName{ get{return_name;} set{_name=value;} }属性的数据类型属性的数据类型可以是一个类或一个数组。属性的访问类型只读属性,只包含get访问器只写属性,只包含set访问器读写属性,包含get和set访问器封装字段快捷键Ctrl+R+E。第3章使用属性升级MyBankC#中,一般为类的私有字段和属性的命名会采用不同的命名法。在为类的私有字段命名时,要以下划线“_”开头,随后出现的英文字母采用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类字符说明示例输出结果C货币格式String.Format(“{0:C3}”,2000)¥2000.000D十进制格式String.Format(“{0:D3}”,2000)2000F小数点后的位数固定String.Format(“{0:F3}”,2000)2000.000N用逗号(,)隔开的数字String.Format(“{0:N}”,250000)250,000.00P百分比计数法String.Format(“{0:P3}”,0.29768)29.768X十六进制格式String.Format(“{0:X000}”,12)c第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类的类型转换方法

方法说明Conver.ToInt32()转换为整形(int型)Conver.ToSingle()转换为单精度浮点型(float型)Conver.ToDouble()转换为双精度浮点型(double型)Conver.ToString()转换为字符串类型(string型)第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语句进行查询语法》select<列名>from<表名>[where<查询条件表达式>][orderby<排序的列名>[ASC或DESC]]查询所有的数据行和列(*)查询部分行和列在查询中使用列的别名(as)查询空值(isnull)在查询中使用常量列查询返回限制的行数(top)第9章数据查询基础orderbyASC升序DESC降序在查询中使用函数常用的四类函数字符串函数日期函数数学函数系统函数第9章数据查询基础部分常用的字符串函数charindex用来寻找一个指定的字符串在另一个字符串中的起始位置len 返回传递给它的字符串长度upper 把传递给它的字符串转换为大写ltrim清除字符左边的空格rtrim 清除字符右边的空格right 从字符串右边返回指定数目的字符replace替换一个字符串中的字符stuff 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串第9章数据查询基础日期函数函数名描述举例GETDATE取得当前的系统日期selectgetdate()返回:今天的日期例如:2009-12-2512:00:00.000DATEADD将指定的数值添加到指定的日期部分后的日期selectdateadd(mm,4,’01/01/2009’)返回:以当前的日期格式返回05/01/2009DATEDIFF两个日期之间的指定日期部分的间隔selectdatediff(mm,’01/01/2009’,’05/01/2009’)返回:4DATENAME日期中指定日期部分的字符串形式selectdatename(dw,’01/01/2000’)返回:Saturday或星期六DATEPART日期中指定日期部分的整数形式selectdatepart(day,’01/15/2000’)返回:15第9章数据查询基础日期部分参数及其缩写日期部分参数缩写日期部分参数缩写yearyy,yyyyweekdaydw,wquarterqq,qhourhhmonthmm,mminutemi,ndayofyeardy,ysecondss,sdaydd,dmillisecondmsweekwk,ww第9章数据查询基础数学函数函数名描述举例RAND返回从0到1之间的随即float值selectrand()返回:0.79288062146374ABS取数值表达式的绝对值selectABS(-43)返回:43CEILING向上取整,取大于或等于指定数值、表达式的最小整数selectceiling(43.5)返回:44FLOOR向下取整,取小于或等于指定表达式的最大整数selectfloor(43.5)返回:43POWER取数值表达式的幂值selectpower(5,2)返回:25ROUND将数值表达式四舍五入为指定精度selectround(43.543,1)返回:43.500SIGN对于正数返回+1,负数返回-1,对于0则返回0selectsign(-43)返回:-1SQRT取浮点表达式的平方根selectsqrt(9)返回:3第9章数据查询基础系统函数函数名描述举例CONVERT用来转变数据类型selectconvert(varchar(5),12345)返回:字符串12345CURRENT_USER返回当前用户的名字selectcurrent_user返回:你登录的用户名DATALENGTH返回用于指定表达式的字节数selectdatalength(‘中国A联盟’)返回:5HOST_NAME返回当前用户所登陆的计算机名字selecthost_name()返回:你所登录的计算机的名字SYSTEM_USER返回当前所登陆的用户名称selectsystem_user返回:你当前所登录的用户名USER_NAME从给定的用户ID返回用户名selectuser_name(1)返回:从任意数据库中返回“dbo”第10章模糊查询和聚合函数模糊查询定义:模糊查询提取的数据不一定是确切的,查询者对查询条件也是模糊的,大概的,不特别明确的。模糊查询可以使用like关键字和通配符来进行。(isnull查询严格来说也是一种模糊查询),模糊查询还可以基于某个范围内的查询和某些列举值内的查询第10章模糊查询和聚合函数通配符定义:通配符是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。通配符解释实例_一个字符ALIKE‘C_’,则符合条件的A如CS,CD等%任意长度的字符串BLIKE‘CO%’,则符合条件的B如CONST,COKE等[]括号中所指定范围内的一个字符CLIKE‘9W0[1-2]’,则符合条件的C如9W01或9W02[^]不在括号中所指定范围内的任意一个字符DLIKE‘9W0[^1-2]’,则符合条件的D如9W03或9W07等第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对象常用的属性和方法属性说明ConnectionString设置/获取应用程序连接数据库的连接字符串方法说明Open()使用ConnectionString属性所指定的设置打开数据库连接Close()关闭与数据库的连接第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对象的主要属性和方法属性说明ConnectionCommand对象使用的数据库连接CommandText执行SQL语句方法说明ExecuteNonQuery()

温馨提示

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

评论

0/150

提交评论