1.对于要熟练的完成对数据库的各种各样频繁的增删改,首先应该具备较好的SQL基础;
2.对于增删改的操作可以通过书写一个接受SQL输入参数的公共函数来执行这个数据库操作;
3.对于记录的查询可以类似于2;
4.跟数据库的连接采用一个公共类来完成;其他的就是对于实现业务逻辑处理部分了。
写先这么些了

解决方案 »

  1.   

    呵呵,我也是这么想,我还想写一个绑定和执行后台数据库存储过程的代码生成工具呢,不过要想完全写好不容易,早有此想法,不过一直都还没动手,汗颜,:)对前面4的补充:封装数据库访问层,支持多数据库,用IDbConnection来连接数据库
      

  2.   

    我暂时离开罢了:D 我的想法是:写一个存储过程,将数据库的所有列作为输入参数,且已指定默认值(防止不允许为空的情况),另加一个输入参数为char类型,指定到底是增删改种的那种操作。然后在ASP.NET的业务层中通过数据将参数传递到数据访问层,然后在传递到数据库通过建立的存储过程操作
      

  3.   

    这个很简单啊,你加个输入参数Action,用于标识你的数据表操作类型,然后在存储过程中做流控制就可以了,:)
      

  4.   

    不知道glboy(星毅) 对这种想法有什么看法?
      

  5.   

    上边应该是:在ASP.NET的业务层中通过“数组”将参数传递到数据访问层,然后在传递到数据库通过建立的存储过程操作
    这样增删改操作就统一了:
    统一传入参数
    统一返回类型
    统一处理过程
      

  6.   

    sanfenxian(三分线)很多情况下针对一个表的增删改也非常多,如用户表的增删改,日志表的增删改,还有各种字典表的增删改。
    对于关联表的情况我还没有考虑清楚,脑子乱了
      

  7.   

    呵呵,忘记声明了,我前面提到的是对于一个数据表对象,而不是所有的数据库中数据表的列,否则就丧失了----“允许更快执行。 
    如果某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 Transact-SQL 语句时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。”这个优势
      

  8.   


    关注 glboy(星毅) 的想法,而且这个想法已经有人实现,nTierGen就是一个很好的产品.
      

  9.   

    我在我的系统中就是这样完成的,首先
    foreach(string element in Request.Form)
    收集用户输入的信息
    然后我写了一个QueryDatas类和QueryData类,前者为后者提供索引,呵呵
    将上面收集的用户信息放到QueryData的属性中,然后系统可以通过QueryDatas以数组的形式访问QueryData,本来是想传数组变量到Sql Server的存储过程中去的,但是不支持数组类型,所以只好又绕一个弯,将QueryDatas内的数据传给一个string,在传到存储过程中,而且这种方法也是只能针对单一表,多个表的联查也没做过,好象复杂很多,乱
      

  10.   

    TO xun_(熏) :
        不明白你想关注我的什么想法?前面提到的也是很基本的处理啊TO sanfenxian(三分线) :
        在多用户并发时要慎重,因为。NET的集合类非常消耗资源,内部包含自动装箱,“ .NET 类库所提供的内建集合也存在问题的话,那多半是它们几乎都在内部把项目存储为System.Object.类型。从最大灵活性的角度看那是一个好想法,但同时也给采用这些通用集合的程序员提出了一些问题。首先,只要你把一个新项目加到集合中去,运行时就必须实施类型转换*作(创建值类型的索引以便可以当作对象引用)。这是一种低效的*作而且在处理大型集合时会产生相当可观的性能问题。其次,只要你访问通用集合中的一个项目,该项目都将作为System.Object类型被返回,这就意味着你不得不把它转换为真实的类型才能对其进行有意义的*作。”