可以在数据库中存储数据有时会导致数据损坏吗?

时间:2013-02-12 19:06:00

标签: c# parsing exception-handling string-parsing

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

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声明)或者这是一个万亿分之一的事件吗?

2 个答案:

答案 0 :(得分:1)

从数据库中选择不应该损坏您的字符串。

如果在传输过程中丢弃连接或类似的连接,则抛出异常。

答案 1 :(得分:1)

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

即使在最受控制的情况下,也可以通过良好的编程习惯为无法处理数据的时间提供条件。这对您的应用程序意味着什么,您需要决定。使用try..catch包装语句将阻止应用程序阻塞,但如果解析后的列表在以后很重要,则可能不合适。