将数据存储在数据库中有时会导致数据损坏

本文关键字:数据 损坏 存储 数据库 | 更新日期: 2023-09-27 17:59:01

我有一个以字符串形式存储在数据库中的字段。它实际上是一个逗号分隔的数字字符串,我将其转换为一个长列表。进行转换的代码行看起来有点像这样:

TheListOfLongs = (from string s in StringFromDB.Split(',') 
                  select Convert.ToInt64(s)).ToList<long>();

创建数据库存储字符串的代码如下所示:

return String.Join(",", TheListOfLongs.Select(x=> x.ToString()).ToArray());

这很好,但正如您所看到的,如果由于某种原因字符串出现问题,第一行代码中的代码会在Convert.ToInt64(s)上中断。

现在我知道我可以用try语句来包装所有这些,但我的问题是:在数据库中存储和检索字符串会损坏字符串吗(在这种情况下,我肯定需要try语句),还是这是一个一万亿以上的事件类型?

将数据存储在数据库中有时会导致数据损坏

我不会担心损坏数据本身。但是,您肯定需要处理更常见的情况,即您无法解析应该是数字数据的内容。

即使在最受控制的情况下,当你不能像预期的那样处理数据时,提供条件也是一种很好的编程实践。这对你的应用程序意味着什么,这是你需要决定的。用try..catch包装语句可以防止应用程序阻塞,但如果稍后解析的列表很关键,则可能不合适。

从数据库中进行选择不会损坏字符串。

如果连接在传输过程中或类似过程中被丢弃,则会引发异常。