没有说清楚!“如果在CustomerData.CUSTOMER_TABLE这张表中只插入lastname和firstname其它为空做UPDATE的话,我必须要重新写一个存储过程。”
怎么也看不明白。

解决方案 »

  1.   

    对Yang_(扬帆破浪) :其实也不难理解我的意思,如果你做过ASP.NET的话你就会知道有DataSet这个概念,然后你就会明白比如说做了一个UPDATE的方法,他所上传进存储过程的并不是仅仅是一,两个FIELD中的数据,而是所有数据,那么这样的话,如果(CustomerData.CUSTOMER_TABLE这张表中只插入lastname和firstname其它为空)也就不难理解了.也就是说那些空的值会覆盖掉原来的数据,我就意思就是说能不能做个很智能的存储过程,然后做出自动判断。当然一条条做比较是不可取的,那样的话,如果有很多FIELD的话会很麻烦的。
      

  2.   

    既然是用dataset所有字段原来的数据都应该已经读出来了的
    虽然用户只更新了两个字段,但其它字段的数据仍然在客房端,所以不用区分字段有没有,全部重写到数据库中就可以了,而且这个操作(SQL语句)还是VS自动生成的,至于外键,应该在界面上对用户输入做限制
      

  3.   

    Anstinus(笨笨龙):数据可以通过CustomerId拿出来没有错,但是因为这个程序分前后台的,也就是说有另外一张表以可以UPDATE的.那么这样的话,从原则上来说就不能够拿出来再做,因为这样的话就存在一个并发的问题。