.Net及C#基础知识,面试宝典 (4)

           5. 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含实现的方法

.net中dataset和datareader的区别:首先,datareader是在线对象,用来以只读只进方式读取数据。只读,就是只能通过它获取数据而不能修改数据,只进,就是读取记录的游标只会不断前进,比如说读取了第5条记录以后就不能返回去读取第2条记录而dataset是离线对象,它就好像是一个数据库,也可以说是数据库的一个副本,你可以对dataset进行离线编辑修改,之后提交回数据库,实现数据的离线操作

sql语句中int转varchar:2011-02-12 10:39SELECT parent_id_list+','+cast(id AS varchar(10)) FROM mytable
或者cast也可以用convert来代替
同时看到有网友有这样的需求,它想把1转成varchar的”000001″这样的串,但是cast函数是只会转成”1″,所以要借用right函数select right(’00000000′ CAST(@i as varchar)

 

1).数据库多表连接查询可以分为哪几种?并且各有什么作用?

主要分为五种: a:主键条件关联查询(表中至少有一个匹配与inner join...on 相似)

                       b:inner join ...on内连接查询(表中有至少一个匹配,则返回匹配的行)

                       c:left join....on 左连接查询(右边表没有匹配,也从左边表返回所有的行) 

                       d:right join...on 右连接查询(左边表没有匹配,也从右边表返回所有行)

                       e:full join...on 全连接查询(就是返回两个表中的所有行)

数据库中的存储过程和sql语句有优缺点:      

数据库存储过程优点: a:代码精简一致,代码重用性强,可以实现模块化程序设计 

                                   b:运行速度快,提高程序的性能, 因为存储程序只在创建时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一                                                 次,  所以使用存储过程可提高数据库执行速度       

                                   c:可维护性高,只需创建存储过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可独立于程序源代码而单独修改,而不需要                                           更 改 ,测试以及重新部署程序集。

                                   d: 有安全机制,可授予没有直接执行存储过程中语句的权限的用户,也可执行该存储过程的权限。另外可以防止用户直接访问表,强制用户使用存储过程                                             执行特定的任务。

                                   e: 减少网络流量,在网络中要发送的数百行代码,可由一条执行其存储过程代码的一条单独语句就可实现(多条sql语句这里简化成立一个存储过程)                                   不足: a:架构不清醒不利于面向对象: 存储过程不太适合面向对象的设计,无法采用面向对象的方式将业务逻辑进行封装,业务逻辑在存储层实现,增加了业务和                                       存 储的耦合,代码的可读性也会降低。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsswp.html