目前,我们正在为C#winforms项目使用以下版本编号方案:
"重大发布"."次要发布"."迭代次数"."迭代中的内部编号"
我们希望能够通过查看版本号来识别该迭代中的迭代次数和构建次数.
在过去,我们做过类似的事情:"主要版本"."次要版本"."1.0的顺序版本号".例如,"4.0.648"意味着自1.0以来有648个构建 - 但是这些信息相当无用和轶事,这就是为什么我们改变以反映迭代中的迭代和构建.
因此,考虑到这个新的敏捷版本编号,我们现在遇到了一个问题,即不同的产品组希望在我们的项目的迭代中进行更改.在这种情况下,版本号没有意义,因为它们的迭代和构建号不对应.例如,我的项目的最后一次构建是1.0.5.1,表示第一次构建迭代5.现在这个第三次迭代的另一个项目想要对我的项目进行更改并重建.
我应该如何应对这种情况?你如何在敏捷项目中进行版本编号?
我正在尝试执行经典的插入/更新方案,我需要更新数据库中的现有行,或者如果它们不存在则插入它们.
我已经找到了关于这个主题的上一个问题,但是它涉及我不使用的存储过程.我想只使用简单的SQL SELECT,INSERT和UPDATE语句,除非有更好的可用(MERGE语句在SQL Server 2005中不可用).
我想我的一般想法是这样的:
If the row is found
update
else
insert
Run Code Online (Sandbox Code Playgroud)
至于检查行的存在,在调用UPDATE或INSERT之前执行SELECT语句有多昂贵?或者最好只尝试UPDATE,检查受影响的行数,然后在受影响的行为0时执行INSERT?