gpt4 book ai didi

C#:是否可以在 SQL 数据库中存储十进制数组?

转载 作者:行者123 更新时间:2023-11-30 18:49:56 25 4
gpt4 key购买 nike

我正在为一个实验室项目开发一个应用程序,我正在用 C# 编写它。它应该从我们用来运行测试的应用程序导出的文本文件中导入结果,到目前为止,我遇到了障碍。

我已经得到了将大约 250 个十进制值保存为一维数组的程序,但随后我试图让数组本身能够保存在 SQL 数据库中,以便我以后可以检索数组和使用十进制值构建点图。

我需要将整个数组作为一个值导入到数据库中,因为实验室项目有多个样本,每个样本都有自己的一组 250 左右的小数点(它们也将存储为数组)

感谢您的帮助。

编辑:感谢您的快速回复,伙计们,但问题是它不仅仅是来自只有 1 次测试运行的样本的结果。每个样本本身都进行了超过 15 次不同分贝级别的相同测试。每个测试都有自己的一组 250 个结果,我们有很多样本。

另外,样本已经分配了一个唯一的 ID,它会被存储为一个 String 而不是一个 Int。我打算做的是在数据库中为每个样本创建一个单独的表,并让每一行都包含有关测试分贝级别的信息,并存储序列化的数组...

我认为这可行,因为我们不需要直接从数据库访问数据中的各个点;我只是使用数据库将内存中的数据存储起来,因为它太多了。我将在数据库中查询阵列和其他信息,然后使用 zedgraph 绘制阵列中的点并同时比较多个标本。

最佳答案

简短的回答绝对不是。这是两种完全不同的数据结构。有一些解决方法,比如将它放在一个 blob 或逗号分隔文本列中。但是,我真的很讨厌那些。它不允许您在 SQL Server 级别进行数学运算。

IMO,最好的选择是在表格中包含多个列。添加标识符,以便您知道数据点属于哪个数组。

例如:

AutoId    Specimen    Measurement
1 A 42
2 A 45.001
3 B 47.92

然后,为了得到你的结果:

select 
measurement
from
mytable
where
specimen = 'A'
order by
autoid asc

编辑:您打算为每个标本制作一个单独的 250 行表格吗?这绝对是矫枉过正。只需使用一个表,将标本标识符作为一列(如图所示),然后对该列进行索引。 SQL Server 可以非常好地处理数百万行。数据库真的很擅长这一点。为什么不发挥他们的优势,而不是尝试重新创建 C# 数据结构?

关于C#:是否可以在 SQL 数据库中存储十进制数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com