- 博客(54)
- 收藏
- 关注
原创 什么是强类型,什么是弱类型
a. C#中int i=3; i=“a”;不可以。JavaScript中 var i=3; i=3; i=“a”;可以。b. 强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。c. 没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。弱类型更灵活,但是效率低,而且出错概率高d. 一般用于编译型编程语言,如 c++,java,c#,pascal 等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如 jav
2021-01-06 15:47:05
138
原创 应用程序域(AppDomain)
一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)b. 应用程序域有助于将在一个应用程序中创建的对象与在其他应用程序中创建的对象隔离,以使运行时行为可以预知。c. 在一个单独的进程中可以存在多个应用程序域。应用程序域可以理解为一种轻量级进程。起到安全的作用,占用资源小。...
2021-01-06 12:56:27
116
原创 CTS、CLS、CLR
a. CTS:通用类型系统 (commontype system)。一种确定公共语言运行库如何定义、使用和管理类型的规范。即Int32、Int16→int、String→string、Boolean→boolb. CLS:CLS 公共语言规范(CommonLanguage Specification)。一种确定公共语言运行库如何定义、使用和管理类型的规范。即不同语言语法的不同。c. CLR:公共语言运行库(CommonLanguage RuntimeCLR),.NETFramework 提供了一个称为公
2021-01-06 12:55:57
131
原创 ajax的几种请求方式和优缺点
常用的post,get,delete putb. 代码上的区别:1:get通过url传递参数;2:post设置请求头部规定请求数据类型c. 使用上的区别:1:post比get安全(因为post参数在请求体中。get参数在url上面)2:get传输速度比post快 根据传参决定的(post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)3: post传输文件大理论没有限制,get传输文件小大7-8k,ie4k左右4:get获取数据post上传数据(上传的
2021-01-06 12:55:26
150
原创 原生ajax请求的步骤
a. 创建 XMLHttpRequest对象var ajax = new XMLHttpRequest()b. 规定请求的类型、URL 以及是否异步处理请求ajax.open(‘GET’,url,true)c. 发送信息至服务器时内容编码类型ajax.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”)d. 发送请求ajax.send(null);e. 接受服务器响应数据ajax.onreadystatec
2021-01-06 12:54:22
72
原创 删除姓名、年龄重复的记录
Id name age salary1 yzk 80 10002 yzk 80 20003 tom 20 200004 tom 20 200005 im 20 20000a. 使用Distinct 去重:SELECT DISTINCT Name FROM Persons(Distinct 只能去除结果集中一模一样的数据)b. 获取不重复数据思考1:SELECT Name, age FROM Persons GROUP BY
2021-01-05 13:07:01
145
原创 横表、纵表转换
纵表结构 TableAName Course Grade张三 语文 75张三 数学 80张三 英语 90李四 语文 95李四 数学 55横表结构 TableBName 语文 数学 英语张三 75 80 90李四 95 55 0a. 先理解:select Name,(case Course when ‘语文‘ then Grade else 0 end) as 语文, (case Course when ‘数学‘ then Grade else 0 end) as 数学, (case
2021-01-05 13:06:29
99
原创 综合查询(成绩管理)
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表a. 查询“001”课程比“002”课程成绩高的所有学生的学号select a.S# from (select s#,score from SC where C#=‘001’) a,(select s#,scorefrom SC where C#=‘002’) b where a.score>b.sco
2021-01-05 13:05:31
242
原创 图书管理查询
CARD 借书卡: (CNO 卡号,NAME 姓名,CLASS 班级)BOOKS 图书: (BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 )BORROW 借书记录: (CNO 借书卡号,BNO 书号,RDATE 还书日期备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。要求实现如下处理:a. 写出自定义函数,要求输入借书卡号能得到该卡号所借书金额的总和CREATE FUNCTION getSUM(@C
2021-01-05 13:03:38
944
原创 活期存款
活期存款中,“储户”通过“存取款单”和“储蓄所”发生联系。假定储户包括:账号,姓名,电话,地址,存款额;“储蓄所”包括:储蓄所编号,名称,电话,地址(假定一个储户可以在不同得储蓄所存取款),问题:创建一个触发器TR1完成下面内容,当向“存取款单”表中插入数据时,如果存取标志=1则应该更改储户表让存款额加上存取金额,如果存取标志=0则应该更改储户表让存款额减去存取金额,如果余额不足显示余额不足错误。CREATE TABLE CREATE TRIGGER tr1 on qukuan after insert
2021-01-04 18:20:54
244
原创 综合查询(条件查询、嵌套查询、多表查询)
表一:student_info学号 姓名 性别 出生年月 家庭住址 备注0001 张三 男 1981-8-9 北京 NULL表二:curriculum课程编号 课程名称 学分0001 计算机基础 20002 C语言 2表三:grade学号 课程编号 分数0001 0001 800001 0002 90a. 条件查询在GRADE表中查找80-90份的学生学号和分数select 学号,分数 from grade where 分数 between 80 and 90在GRADE 表中
2021-01-04 18:20:10
215
原创 一条Sql语句:取出表A中第31到第40记录
a. select top 10 * from A where id not in (select top 30 id from A)演变步骤:1)select top 30 id from T_FilterWords–取前条2)select * from T_FilterWords where id not in (select top 30 id from T_FilterWords)–取id不等于前三十条3)select top 10 * from T_FilterWordsb. selec
2021-01-04 18:19:08
452
原创 数据库优化
a. 扩展:索引内部原理可以想象成 Dictionary,插入、删除、更新的速度慢了,加上索引也多占用了空间,查询的速度快了。加上索引以后速度提升非常明显。b. 在经常检索的字段上(selectfromPerson whereName=@Name)使用索引提高查询速度。 (2)select 中只 列出必要的字段,而不是。c. 避免隐式类型转换造成的全表扫描,在索引上使用函数也会造成全表扫描(因 为索引只是为字段建立的,一旦使用表达式或者函数,那么索引就是失效了,当然也可以使用“函数索引”、 “表 达式索
2021-01-04 18:18:19
74
原创 视图和游标
a. 视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。b. 游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要...
2021-01-04 18:17:25
281
原创 事务的特性
a. 原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行b. 一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。c. 隔离性由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它
2021-01-04 18:16:55
83
原创 事务和锁
a. 事务就是被绑定在一起作为一个逻辑工作单元的SQL语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。b. 为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。c. 锁:在所以的DBMS中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。...
2021-01-04 18:16:24
161
原创 触发器的作用
a. 触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。b. 它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。c. 可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发...
2021-01-04 18:15:50
557
原创 索引的作用
a. 索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。b. 它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。c. 索引可以是唯一的,创建索引允许指定单个列或者是多个列。d. 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小...
2021-01-04 18:15:06
123
原创 SQLServer中的索引
a. 聚簇(或者叫做聚集,cluster)索引和非聚簇索引。b. 字典的拼音目录就是聚簇(cluster)索引,笔画目录就是非聚簇索引。这样查询“G到M的汉字”就非常快,而查询“6划到8划的字”则慢。聚簇索引是一种特殊索引,它使数据按照索引的排序顺序存放表中。聚簇索引类似于字典,即所有词条在字典中都以字母顺序排列。聚簇索引实际上重组了表中的数据,所以你只能在表中建立一个聚簇索引。当数据按值的范围查询时,聚簇索引就显得特别有用。因为所有SQLServer都必需先找到所查询范围的第一行,然后依次下去,直到该范
2021-01-04 18:14:29
237
原创 MVC的多种不同类型的结果类型
a. 有12种,最主要的是ActionResult类,它是一个基础类,它有11个子类型b. ViewResult - 给响应流渲染指定的视图c. PartialViewResult - 给响应流渲染指定的局部视图d. EmptyResult - 返回空的响应结果e. RedirectResult - 执行一个HTTP转向到指定的URLf. RedirectToRouteResult -执行一个HTTP转向到一个URL,这个URL由基于路由数据的路由引擎来决定g. JsonResult
2021-01-03 13:11:47
65
原创 post、get的区别?
a. get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中b. 使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会c. 用get的页面可以被搜索引擎抓取,而用post的则不可以d. 用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度e. 用post可以进行文件的提交,而用get则不可以f. 扩展:通过html表单方式提交数据和ajax方式请求的原理不一样:不完百全一样。一般通过For
2021-01-03 13:10:09
43
原创 ASP.NET页面之间传递值的几种方式
a. 使用 QueryString, 如…?id=1;response.Redirect()…b. 使用 Session 变量c. 使用 Server.Transferd. Cookie 传值e. Application 传值f. PreviosPageg. Server.Transfer 和 Response.Redirect 的区别:Server.Transfer 是服务器内部的转接,浏览器不知晓; Response.Redirect 是有浏览器参与的,所以在地址栏中可以看到地址的变化。h
2021-01-03 13:09:18
41
原创 属性和public 字段的区别是什么?调用 set 方法为一个属性设值,然后用 get 方法读取出来的值一定是 set 进去的值吗?
a. 属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置b. 虽然 一般情况下 get 读取的值就是 set 设置的值,但是可以让 get 读取的值不是 set 设置的值的。极端的例子。Public Age{get{return100;}set{}}c. 扩展::用 reflector 反编译可以看出,属性内部本质上就是 set_***、get_*** 方法class Person{public int Age{ get{return 3;}set{} }
2021-01-03 13:06:41
111
原创 B/S与C/S的联系与区别
a. C/S 是 Client/Server 的缩写。客户端需要安装专用的客户端软件。b. B/S是 Brower/Server 的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面 完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端 实现。浏览器通过WebServer 同数据库进行数据交互。C/S 与 B/S 区别:c. 硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务 器提供连接和数据交换服务. B/S 建立在广域网
2021-01-03 13:06:20
113
原创 C#中的委托是什么?事件是不是一种委托?事件和委托的关系?
a. 委托可以把一个方法作为参数代入另一个方法。b. 委托可以理解为指向一个函数的指针c. 委托和事件没有可比性,因为委托是类型,事件是对象下面说的是委托的对象(用委托方式实现的事件)和 (标准的 event 方式实现)事件的区别:d. 事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自 己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用 Delegate 就没法 进行上面的控制,因此诞生了事件这种语法e. 事件是用来阉割委托实例的,类比用一个自定义类
2021-01-03 13:05:31
337
原创 abstract class和interface的区别
相同点:a. 都不能被直接实例化,都可以通过继承实现其抽象方法。不同点:b. 接口支持多继承;抽象类不能实现多继承。c. 接口只能定义行为;抽象类既可以定义行为,还可能提供实现。d. 接口可以用于支持回调(CallBack);抽象类不能实现回调,因为继承不支持。e. 接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;f. 抽象类可以定义字段、属性、包含有实现的方法。接口可以作用于值类型(Struct)和引
2021-01-03 13:04:33
63
原创 接口和类的异同
不同点:a. 不能直接实例化接口。b. 接口不包含方法的实现。c. 接口可以多继承,类只能单继承。d. 类定义可在不同的源文件之间进行拆分相同点:e. 接口、类和结构都可以从多个接口继承。f. 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。g. 接口和类都可以包含事件、索引器、方法和属性...
2021-01-03 13:03:33
82
原创 StringBuilder和String 的区别?
a. String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不 会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用Stringb. 如果要操作一个不断增长的字符串,尽量不用 String 类,改用 StringBuilder 类。c. 两个类的工 作原理不同:String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到 另一个字符串上的工作没错,但是在.NET 框架下,这个操作实在是划不来。因
2021-01-03 13:02:27
38
原创 值类型和引用类型的区别?
a. 将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用, 而不复制对象本身b. 值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结 构也可以实现接口c. 值类型不可能包含 null 值:然而,可空类型功能允许将 null 赋给值类型d. 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值...
2021-01-03 13:01:30
73
1
原创 ADO.NET中的五个主要对象
a. Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得 数据的。Close 和 Dispose 的区别,Close 以后还可以 Open,Dispose 以后则不能再用。b. Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令, 以及调用存在数据库中的存储过程等。这个对象是架构在 Connection 对象上,也就是 Command 对象是透过连 接到数据源c. DataAdapter:主要是在
2021-01-02 19:20:53
56
原创 XML 与 HTML 的主要区别
a. XML是区分大小写字母的,HTML不区分b. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者之类的结束 标记。在XML中,绝对不能省略掉结束标记HTML:XML:c. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了d. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的e. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值f. XML是用
2021-01-02 19:19:50
65
原创 跨域解决方案有哪些?
a. 方案一原理:动态创建一个script标签。利用script标签的src属性不受同源策略限制。因为所有的src属性和href属性都不受同源策略限制。可以请求第三方服务器数据内容;步骤1:去创建一个script标签步骤2: 接口参数,必须要带一个自定义函数名 要不然后台无法返回数据步骤3:通过定义函数名去接收后台返回数据如图:...
2021-01-02 19:19:14
109
原创 ajax几种请求方式?他们的优缺点?
a.常用的post,get,delete putb. 代码上的区别:1:get通过url传递参数;2:post设置请求头部规定请求数据类型c. 使用上的区别:1:post比get安全(因为post参数在请求体中。get参数在url上面)2:get传输速度比post快 根据传参决定的(post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)3: post传输文件大理论没有限制,get传输文件小大7-8k,ie4k左右4:get获取数据post上传数据(上
2021-01-02 19:18:07
162
原创 原生js ajax请求有几个步骤?分别是什么?
a. 创建 XMLHttpRequest对象var ajax = new XMLHttpRequest()b. 规定请求的类型、URL 以及是否异步处理请求ajax.open(‘GET’,url,true)c. 发送信息至服务器时内容编码类型ajax.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”)d. 发送请求ajax.send(null);e. 接受服务器响应数据ajax.onreadystatec
2021-01-02 19:16:13
67
1
原创 XMLHttpRequest对象的常用方法和属性
a. open(“method”,”URL”) ; 建立对服务器的调用,第一个参数是HTTP请求 方式可以为GET,POST或任何服务器所支持的您想调用的方式,第二个参数是请求页面的URLb. send()方法,发送具体请求c. abort()方法,停止当前请求d. readyState属性 请求的状态 有5个可取值0=未初始化 ,1=正在加载2=以加载,3=交互中,4=完成e. responseText属性 服务器的响应,此属性返回一个字符串响应数据f. reponseXML 属性 服务器的响应
2021-01-02 19:14:29
105
原创 AJAX都有哪些优点和缺点
优点:a.最大的一点是页面无刷新,用户的体验非常好b.使用异步方式与服务器通信,具有更加迅速的响应能力。c.可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。d.基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。缺点:e.ajax不支持浏览器back按钮。f.安全问题 AJAX暴露了与服务器交互的细节。g.对
2021-01-02 19:13:41
80
原创 Ajax原理?
c. Ajax的原理就是:通过javascript的方式,将前台数据通过xmlhttp对象传递到后台,后台在接收到请求后,将需要的结果,再传回到前台,这样就可以实现不需要页面的回发,页是数据实现来回传递,从页实现无刷新d. Ajax的原理简单来说,实际上就是通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面e. 这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解f.
2021-01-02 19:12:42
51
原创 web storage和cookie的区别
a. Cookie的大小是受限的b. 每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽c. cookie还需要指定作用域,不可以跨域调用d. Web Storage拥有setItem,getItem等方法,cookie需要前端开发者自己封装setCookie,getCookiee. Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生f. IE7、IE6中的UserData通过简单的代码封装可以
2021-01-02 19:11:54
65
原创 COOKIE的弊端
a. 每个特定的域名下最多生成的cookie个数有限制b. IE和Opera 会清理近期最少使用的cookie,Firefox会随机清理cookiec. cookie的最大大约为4096字节,为了兼容性,一般不能超过4095字节d. 安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。e. 扩展:浏览器本地存储在HTML5中提供了sessionStorage和localStorage。sessionStorage用于本地存储一个会话(session)中的数据,这些数据
2021-01-02 19:10:58
82
原创 jQuery 能做什么?
a. 获取页面的元素b. 修改页面的外观c. 改变页面大的内容d. 响应用户的页面操作e. 为页面添加动态效果f. 无需刷新页面,即可以从服务器获取信息g. 简化常见的javascript任务
2021-01-01 14:18:31
48
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人