问题2:此系统是一个多用户的系统,在设计数据库时,我把“单据号”和“用户ID”两个字段设成联合主键(有重复)。不知道这样是否合理?建议单据号就自己是主键(单据一般是不允许重复的),用户id不要与用户的单据混合在一起
看了一下你设计的数据库,相当的不靠谱,比如这个库存表:CK(仓库名称、产品编号、库存数量、库存成本、用户ID)
字典表:DIC(名称、用户ID)注:用来存放仓库名称字典表中应该是(仓库id ,仓库名称、用户ID)仓库id为主键
库存表 ck(仓库id,产品编号,库存数量,库存成本,用户id)每一个表必须要有自己的主键,熟练使用join来对数据库进行操作
你这样做只会让后期变的很麻烦

解决方案 »

  1.   

    首先谢谢大家帮忙。其它表存储的不是仓库名称的ID,直接存的仓库名称,因为考虑到有很多地方要直接显示出仓库名称,所以不想每次都要去连接字典表来查询,这样显示太复杂,而且如果存的是名称ID,那么当你删除了字典表中的一条仓库名称记录时,其它表通过ID是查不到对应名称的(不知你怎么解决这个问题?设置一个“是否删除”的字段?)。另外你说的“另外数据库中的数据部要进行物理上的删除,可以设置删除变量,不给用户显示,否则不一定在什么地方就会报错!”这个不是很理解,能否说清楚一点。如果设单据号为主键(不允许重复),那怎么判断这个单据是哪个用户的呢,而且还会出现多个用户同时登录操作时,单据号就肯定会重复的。不知道这个怎么解决?或者是否有其它好的方法?退货明细表就是你说的出库明细表的。上面我只是简单说明了一下,肯定不可能在这里把所有业务都写上去呀。现在就是问题1这个业务操作流程不知道怎样实现最合理。还请指教。
      

  2.   

    1、新建退货单:先将添加的明细数据保存到jxc_tmp表,然后保存整个单据时将临时表的数据插入到退货明细表,并保存单头信息到退货主表,最后删除临时表里相关的数据。
    兄弟!你是做那个行业的进销存,有需要可以和我QQ联系!