我在书中看到asp.net中调用数据库有好几种方法,比如直接写嵌入式sql代码,或者把对一个表的读写封装成一个类,利用存储过程的读写数据,说是这样比较快,不知是否果真如此?此外,我现在要从数据库中读写很多数据,有些表有20多个字段,用存储过程感觉很烦,而且而且每个表都要写读取,更新,删除,添加四个存储过程,对应的类中就要有四个函数,每个存储过程中又仅仅是很简单的一两句话(除了参数多了点),很烦很烦,大量重复代码,不知道各位高人平时怎么解决类似的问题

解决方案 »

  1.   

    一句话的话就直接SQL语句吧没必要用存储过程,不要为了追求存储过程而存储过程
      

  2.   

    对于简单的操作直接用sql语句就可以了。一些数据库中复杂的运算或者业务逻辑是可以写在存储过程里的。
      

  3.   

    关键看你页面处理的事物量大不大 频繁不频繁 如果规模不是很大 直接用sql 语句就行了  用存储过程的目的一方面是简化系统代码  一方面是把数据处理交给sql server 数据库管理系统 从而减轻服务器压力。
      

  4.   

    强烈建议用存储过程。安全效率高。并且程序最好用sql类封装
      

  5.   

    看个人需要。
    安全性我们可以用参数化SQL语句来解决。如果不用存储过程,建议使用参数化SQL语句。
    我现在的项目中90%的数据库操作都是用参数化SQL语句解决,有部分复杂一点、带有逻辑的就用存储过程了。
      

  6.   

    asp.net夜话之八:数据绑定控件
    在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。数据绑定控件的DataSource控件属性必须是一个可以枚举的数据源,如实现了ICollection、IEnumerable或IListSource接口的类的实例。
      

  7.   

    对于很简单的查询语句也需要用存储过程吗,例如只是一个select * froms tableName, 如果全部封装成类,每个表是不是都应该有一个?这样写出来似乎重复代码很多很多,有没有什么好的解决方法
      

  8.   

    在ADO.NET中使用参数化SQL语句的大同小异 
    在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Oracle中Clob字段等)使用参数化SQL语句很容易就能赋值,所以本人经常在ADO.NET中使用参数化SQL语句,近几年来陆续跟SQL Server/Oracle/ MySQL/Access打交道,积累了一些心得,现在整理出来供大家参考。 
      

  9.   

    最简单的方法应该是强类型的DataSet,什么连接,sql语句都自动生成或所见即所得生成,
    建议楼主试试强类型的DataSet!!