C/S模式Server端好像用不着做什么吧? 
只要Server端MSSQL起着, 就能加纪录
主要是在Client端.
并发性问题, 现在的大型数据库如mssql, sybase, oracle等都有lock机制的
瓶颈? 你指的是什么瓶颈?

解决方案 »

  1.   

    C/S结构中,在C端可做的事,主要是与用户的交互有关,比如数据录入的合法性验证,各类查询要求的获得。纯的C/S结构还要求在客户端执行所谓的商业规则,即所处理问题解决算法。但随着三层结构的使用,商业规则可在中层实现。在S端可做的事包括一些数据处理工作。这包括编写存储过程,触民器,设置表的主,外键等工作。在S端主要完成一些大量的数据计算,处理工作,这些工作在C端完成也可以,但是可能实现比较困难,而在S端用存储过程等就可轻松完成。并发性问题,在每个SQL中都有实现。MSSQL提供了锁定功能。包括乐观锁定和悲观锁定。要想获得性能最优可用乐观锁定,即数据冲突依靠SERVER检测,出现错误再进行处理。也就是说假设不会出现数据冲突。但若想获得最为准确的数据用来进行计算更新,就需要精确的获得表的数据,并且表的数据在更新处理过程中不能被他人修改。那么就需要首先做锁表或锁记录。SQL SERVER中提供了扩大行容量,使之达到页级大小这种方法,以页锁代替行锁的方法。我做的时候通常另建一个锁定表,来自己在程序判别是否加锁。瓶颈?我想可能是说性能的调整吧?对C/S结构来说,我想主要需要解决网络数据传输问题,我遇到许多问题都出在网络负载过重。
      

  2.   

    s端按sqlserver
    c段干自己的活。
    首先,要用bde将c与s连通,
    关于并发与平静问题:
    1,不使用table,使用query
    2, 不使用数据感知控件
    3,使用事务处理。
    例子:
       对于数据的修改,增加,删除等:
      try
        if database1.InTransaction then database1.Rollback;
        database1.StartTransaction;
        with query1 do
        begin
    //      在着做处理;
          sql.clear;
          sql.add('insert 。');
          prepare;
          parambyname('p1').as...:=参数;//(参数就是非数据感知控件的值或其他)
          
          ...
          execsql;
          unprepare;
        end;
        database1.Commit;
      except
        database1.Rollback;
      end;
       
    另外还有键值,sqlserver本身的参数设置等问题...