SqlDataSource

来源:互联网 发布:2017网络男歌手排行榜 编辑:程序博客网 时间:2024/04/29 11:18
 

1、如果需要在多页之间共享代码,如果采用在每个页内书写相同代码的办法,不但效率低,而且难以维护。在.net 2.0中,我们可以把这些公用代码定义成一个类,将其Source Code 放入App_Code中,App_Code目录中的所有文件在被调用时动态编译,然后提供给应用程序,实现代码的共享。

2、在bin目录中,包含预编译的程序集,也就是将源代码编译后生成的DLL文件。不管是自己编译的dll文件,还是拿来使用的,放在bin目录中后,您就可以在站点中使用它。您需要在程序的最上方用import指令导入这个程序集供使用。
<@Import Namespace="myDll_database">

3、代码应包含在<%……%>,如果包含在<%=……%>,则是将等号后的表达式进行计算后作为内容发出。<%#  %>中的代码在其父控件容器的DataBind方法被调用时执行。文件中注释时采用<%-- 注释--%>;在文件中插入指定文件,比如所有文件具有相同的页脚,<%--Include File="foot.inc"--%>;<%$……%>为.net 2.0中新增的表达式语法,可以在分析页之前将值替换到页中,便于实现程序的可配置性、国际化等等。

4、服务器控件和普通的html控件区分在于,服务器控件中,多了runat="server"的属性。

5、使用SqlDataSource控件就可以实现连接数据库和编写查询数据库的SQL语句,而不用编写ADO.Net代码,当把它帮定到数据绑定控件的时候比如GridView,就可以自动检索数据。
但是使用SqlDataSource,数据查询直接指定为它的属性,比如select、insert、delete等语句都是SqlDataSource控件的属性,因此其数据查询需要维护时,必须在页代码中维护,所以是两层模型。所以SqlDataSource控件针对不需要完全封装数据中间层对象的中小站点。如果需要数据查询的中间曾封装,则需要使用ObjectDataSource控件。

6、在SqlDataSource中,其ConnectionString属性-也就是连接字符串可以使用我们在web.config中预先定义好的数据库连接字符串,我们需要在web.config中添加如下代码即可:
<connectionStrings>
   <add name="dsn" connectionString="Data Source=localhost\sqlexpress;Initial Catalog=blog;Persist Security Info=True;User ID=larry;Password=iloveyou" providerName="System.Data.SqlClient"/>
</connectionStrings>
使用在web.config中配置连接字符串,不但实现了集中的管理,易于我们修改和维护,还可以保护连接字符串,asp.net将IIS配置为禁止浏览器访问web.config这个文件。

7、SqlDataSource控件可以连接到ODBC、OledDb、Oracle等多种数据源,而不仅仅是微软的Sql Server,可以将providerName设置为相应的属性即可。

8、SqlDataSource的SelectCommandType设置为StoredProcedure,即可在查询命令中使用存储过程,而不局限于sql语句。

9、如果您不需要对从数据库中查询到的数据进行排序、编辑等操作,可以将SqlDataSource控件的DataSourceMode设置为DataReader,也就是进行仅向前和只读的访问,这样会具有较高的性能。想想也确实,自动实现的功能越多,也必然越带来效率的下降。

10、           GridView中实现的分页,是从数据源检索所有记录,然后只保留当前页的记录,丢弃其余的行,分页逻辑在发生在GridView控件的呈现层中。很明显,这样的分页模式在数据少的时候很好用,一旦数据库记录较多时,则效率不高,对服务器也会造成较大压力。我们可以使用ObjectDataSource控件在数据源接口级别配置分页,也就是只从数据源请求当前页中需要的记录,这样具有较高的效率,SqlDataSource不支持接口级别的分页。