【发布时间】:2014-12-09 00:20:38
【问题描述】:
我正在处理我的程序与一些记录的数据文件之间的接口。我的程序将加载数据文件并将其存储到数据库中。在记录的数据文件中,它的格式结构包含其他程序(生成该文件)的不同版本号
处理版本号的最佳方法是什么?
Major_Minor_Build_Revision
12.03.04.142
我将在我的程序中使用稍后加载指定版本(例如 2.03.04.142)的所有数据
编程
在 Delphi 中,我们可以创建一条记录并处理版本号:
TVersion = Record
Major : integer;
Minor : integer;
Build : integer;
Revision : integer;
end;
或者将它转换为整数并存储它会更好吗?如果这是进行转换的最佳方法是什么?
数据库
在 SQL 数据库中也是一样,我们可以将 [Major]、[Minor]、[Build]、[Revision] 的每一列创建为整数来存储它。
或者如果我们使用版本转换,我们可以在 SQL [Version] 中只使用一列。
哪一种是最好的使用方法?或者有没有更好的处理方法?
提前致谢。
【问题讨论】:
-
你问的是什么版本号? IDE 已经为您的项目处理了您的版本号,并且 Windows 知道 GetVersionInfo 中内置的主要/次要/构建/修订版本。大多数现代软件项目使用相同的版本号定义。为什么你需要一个 Delphi 记录来存储 IDE 已经存储在你的可执行文件中并且 WinAPI 已经检索的内容?如何将它存储在您的数据库中显然是只有您可以决定的事情,因为您是更新和检索它的人。你打算如何使用它?
-
@sMah 。 . .存储数据的最佳方式取决于数据的使用方式。您能否通过一些有关如何使用版本号的示例来编辑您的问题?
-
你用的是什么数据库?
-
Microsoft SQL Server - 关系型数据库
-
从您的使用场景来看,您仍然不清楚您希望我们替代哪个来倡导:-) 您是否打算确定 eq. 之间的关系?
1.2和2.1?然后将版本打包为数字类型,例如 pastebin.com/z3Jmk35M 。顺便说一句,签名版本的组件让我很高兴。
标签: sql sql-server delphi versioning