.NET学习1一、基础篇..........................................................2二、面向对象........................................................5三、WinForms基础...................................................7四、SQL教程........................................................8五、ADO.NET........................................................10六、HTML1.........................................................16六、HTML2脚本(script)...........................................31七、样式表CSS.....................................................35八、JavaScript语言................................................49九、DOM编程.......................................................52十、JQuery教程....................................................63十一、ASP.NET基础.................................................71十二、ASP.NET中级.................................................78十三、ASP.net高级.................................................81十四、AJAX.........................................................85十五、windowsphone7...............................................86.NET学习2一、基础篇CLR:CLR(公共语言运行库,CommonLanguageRuntime)和Java虚拟机一样也是一个运行时环境,是一个可由多种编程语言使用的运行环境。CLR的核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步,可由面向CLR的所有语言使用。并保证应用和底层操作系统之间必要的分离。CLR是.NETFramework的主要执行引擎。CLR公用语言运行时三条控制台应用程序Console.WriteLine();打印输出Console.ReadLine();从控制台读入一行Console.ReadKey();暂停占位符程序入口Main函数显示行号工具---选项---文本编辑器---C#转义字符的使用\编译器检查Convert:转换磁盘的格式,比如可以将fat32转换成ntfs。ntfs格式有更好的安全性和性能。不过一般操作系统所在的盘还是选fat32,通用性好。如convertd:/fs:ntfs该命令就可以将D盘格式改为ntfsSwitch….case..测试离散常量值注意其中的break语句可以用if重写,但反之不成立。.NET学习3一个解决方案下面可以包含多个项目,每个项目里包含多个文件设置启动项目循环中断Break终止循环,继续下面的代码continue终止本次循环return退出函数类型转换CastByte8bit最大值255最小值0强制类型转换范围大的转化为范围小的同种类型的数据转换(在内存里有交集)Cast不同类型的数据转换(无交集)convert输入过程中的覆盖问题Insert键的问题枚举enum限定取值范围Foreach遍历可变参数params用在参数表中的最后一个之前。参数默认值。函数的重载(参数不一致)与返回值无关字符串Length属性ToCharArray();字符串的不可变性(内存内容不可变),但是变量名的可以变。ToLower();有返回值ToUpper();有返回值.NET学习4Trim();去掉字符串两边的空白Equals();可以做忽略大小写的比较。==是区分大小写的比较。Split(paramschar[]separator);分割字符串有三个重载函数Replace(stringoldValue,stringnewValue);Substring(intstartIndex);取从指定位置开始一直到最后的子字符串。Substring(intstartIndex,intlength):length长度要在剩余长度之内。BoolContain();BoolStartsWith();BoolEndWith();BoolIndexOf();判断子字符串第一个字符第一次出现的位置,如果不存在,则返回-1。Ref传递的是引用必须先初始化函数内部对外部参数改变。Out外部不需要赋值,需要在函数中赋值。为函数外部赋值,一般用在函数有多个返回值。注意改变的是拷贝,还是本身。.NET学习5二、面向对象面向过程C语言面向对象C++Java类,对象(实例instance)字段类的状态、方法Method成员访问级别Public外部可以访问Private类内部可以访问Protected属性GetSet属性的get和set属性可以不包含代码。值类型intdatatimeboolchar传递的是一个拷贝引用类型赋值的时候传递的是引用。构造函数创建对象时给予初始化。可以重载继承父类所有的动作都会反映在子类中。所有的类直接或间接的继承于object类异常机制Try….catch模块.NET学习6常量const静态成员不需要初始化对象可看作全局变量static而非静态成员则需要进行初始化对象进行引用。如属性、方法等,均可声明为static静态类static不能被实例化命名空间namespace同名类的处理索引器indexSetGet只有get时是只读的。同样可以重载访问级别+数据类型+[参数列表].NET学习7三、WinForms基础This指的是该窗口检查是否可以转换为整数if(!int.TryParse(str2,outD2))int.TryParse与int.Parse又较为类似,但它不会产生异常,转换成功返回true,转换失败返回false.使用Parse和TryParse转换数字字符串.NET学习8四、SQL教程DBMS数据库管理系统DB数据库Table表Column列Catalog分类Field字段PrimaryKey主键大部分数据类型可以作主键,但只有int或uniqueidentifier比较合理。ForeignKey外键表间关联选用策略:逻辑主键:业务主键:有具体意义的字段做主键字符串单引号SQL主要分为:DDL数据定义语言DML数据操作语言GUID算法它使用网卡的MAC地址,纳秒级时间,芯片ID等计算出来的。SQL中使用newid();C#中使用guid对象Delete删除数据Drop删除表结构Inset插入数据Create创建表Update更新数据Select查询数据Alter修改表起别名as聚合函数MAXMINCOUNTAVGSUM等排序orderbywhere之后ASC升序DESC降序.NET学习9通配符单字符通配符_多字符通配符%,k%,表示以k开头任意长度的字符串。空值处理Null表示不知道不能再用=而是用is多值匹配orin(范围),andBetweenand数据分组Groupby查询每组的信息必须在where之后Where中不能出现聚合函数如果要使用,having在groupby之后Top3去掉重复数据Distinct消除完全重复的一行Union联合结果集两个查询之间加union,但两个查询的查询字段要一致,类型要相容。默认将重复数据消除。Unionall不消除索引全表索引设置索引键表连接join.NET学习10五、ADO.NETADO.NET中提供了对各种不同数据库统的统一的操作接口.mdf文件数据库文件.ldf文件日志文件自动的将.mdf文件附加到sqlserver上分离两种文件1、连接字符串SqlConnection类实现数据库连接添加头文件usingSystem.Data.SqlClient;注意:CTRL+.因此,在使用完之后,使用using进行资源释放2、执行简单sql语句6、ADO.NET详解2cmd.CommandText=InsertintoTable2(UserName,Password)values('+username+','+password+');cmd.ExecuteNonQuery();//.NET学习11Console.WriteLine(插入成功);cmd.ExecuteNonQuery();返回的是执行中影响数据的条数对于UPDATE、INSERT和DELETE语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也为-1。cmd.ExecuteScalar();返回值是object类型返回表中第一行第一列的数据返回主键IdOutputInserted.Idcmd.ExecuteReader();开始,指针在第一条数据之前只要还有数据,就返回trueGetString();参数必须是整数GetOrdinal(“”);返回的是给定参数的序号7、ADO.NET中Using与Close区别Close是关闭连接,还可以打开,必须调用dispose释放在调用dispose内部,如果没有close,则先进行close,然后再释放或直接调用dispose方法Using是在出了作用域之后,调用dispose方法8、注入漏洞与参数化查询SQL注入漏洞攻击B/S架构,服务器客户端通信协议在用户输入中输入一些特殊字符或SQL语句,使系统构造出的SQL语句改变了查询条件,或者附带执行了攻击者注入的SQL语句,攻击者根据返回的结果获取所需信息。.NET学习12参数化查询在同一个连接中,执行reader过程中,不能进行数据的修改(update)可以再建立一个连接13、读取配置中的连接字符串应用程序配置文件App.config17、DataSetSqlDataReader相当于一个游标,如果连接断开,则无法继续执行不利于小数据量数据的访问数据集DataSetDataTableDataRow.NET学习13SQLHelper19、可空数据类型或者用HasValue属性可空类型和不可空类型转换,调用value属性强类型DataSet与弱类型DataSet21、ADO.Net类型化DataSet_2全名引用22、类型化DataSet原理.NET学习14Adapter.GetData();获取数据23、类型化DataSet修改的更新Adapter.Update()修改数据不设置主键,那么dataset不会自动填写update操作代码不同步更新需要手动操作在配置里点完成添加字段时,在配置里点查询分析器,勾选字段强类型dataset,就是自动生成很多代码24、类型化DataSet空值处理NULL处理如果字段为null时,调用P.IsNameNull();处理25、类型化DataSet添加自定义SQL语句添加Query选项会同时产生两个方法可以全选或选择一个29、类型化DataSet原理之Connection1显示连接状态执行之前连接打开执行之后连接关闭.NET学习15MessageBox.Show(adapter.Connection.State.ToString());批量操作每次读建立