TableNo(餐桌编号)  TxnId (编号)
根据TableNo获取数据表中最大的TxnId 第一次添加数据时,这次的TxnId等于已获取到的最大TxnId + 2;再次添加时等于上次TxnId + 1; 若关闭该窗体再打开也算是第一次。还有就是就算把最大的TxnId删除后,下次添加时仍要根据这删除的来运算。
例如TableNo = 'B01'的数据表中 最大的TxnId = 2; 那么第一次添加数据时 TxnId = TxnId +2 ;连续第二次添加的话 TxnId = 第一次的Txn +1; 若关闭窗体后重新打开 再添加时 这个时候的TxnId = TableNo = 'B01'的数据表中 最大的TxnId +2; 就算把最大的TxnId删除了再次添加时然后根据这个已删除的TxnId来运算
这样的话该怎样实现?

解决方案 »

  1.   

    "若关闭窗体后重新打开"则TxnId +2,这个怎么实现?
      

  2.   

    CREATE TABLE #temp
    (
    TableNo INT, --(餐桌编号) 
    TxnId INT IDENTITY(1, 1) --(编号)
    )
    GO--第一次插入
    BEGIN TRAN
    INSERT #temp
    VALUES(1)
    ROLLBACK TRAN
    INSERT #temp
    VALUES(1)--第二次插入
    INSERT #temp
    VALUES(2)--RESULT:
    SELECT * FROM #temp
    /*
    TableNo TxnId
    1 2
    2 3
    */