我在书中看到asp.net中调用数据库有好几种方法,比如直接写嵌入式sql代码,或者把对一个表的读写封装成一个类,利用存储过程的读写数据,说是这样比较快,不知是否果真如此?此外,我现在要从数据库中读写很多数据,有些表有20多个字段,用存储过程感觉很烦,而且而且每个表都要写读取,更新,删除,添加四个存储过程,对应的类中就要有四个函数,每个存储过程中又仅仅是很简单的一两句话(除了参数多了点),很烦很烦,大量重复代码,不知道各位高人平时怎么解决类似的问题
解决方案 »
- ListView 不能启用编辑等功能
- 按钮click事件明明改变了变量的值,为什么变量的值总是会重新初始化?
- mailto的乱码问题
- ACCESS数据库连接问题
- 一句vb语句转C#
- 看了类的继承后还是不明白下面的东西:
- 请教:url里面带参数如果值是中文的,应该怎么带?如:web1.aspx?ckey=联想
- 求cookie 在两个系统间切换问题?
- 版主求帮忙看下一个js加密的
- 我想取出数据库中点击数前5 条记录并显示在一表格中怎么办???(请看我的代码)
- 做网站时遇到的技术难题,前来寻求帮助,有经验的高手来指点一下,谢谢!
- .net里Repeater控件显示的图像,用js产生 不间断滚动、鼠标over放大、out恢复原样
安全性我们可以用参数化SQL语句来解决。如果不用存储过程,建议使用参数化SQL语句。
我现在的项目中90%的数据库操作都是用参数化SQL语句解决,有部分复杂一点、带有逻辑的就用存储过程了。
在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。数据绑定控件的DataSource控件属性必须是一个可以枚举的数据源,如实现了ICollection、IEnumerable或IListSource接口的类的实例。
在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Oracle中Clob字段等)使用参数化SQL语句很容易就能赋值,所以本人经常在ADO.NET中使用参数化SQL语句,近几年来陆续跟SQL Server/Oracle/ MySQL/Access打交道,积累了一些心得,现在整理出来供大家参考。
建议楼主试试强类型的DataSet!!