C# 是否可以在一行中插入多个项目并逐个取回

C# 是否可以在一行中插入多个项目并逐个取回,c#,sql,winforms,rows,table-valued-parameters,C#,Sql,Winforms,Rows,Table Valued Parameters,我正在使用这个Sql命令 INSERT INTO SAMPLES (reportno, samplename, analysisname) VALUES (1, 'Lemon', 'ecobali1,ecobali2,ecobali3) 我的结构将是: REPORT NO : 1 SAMPLE : LEMON ANALYSIS Ecobali1 Ecobali2 Ecobali3 稍后,我需要一个接一个地获取AnalysisName以输入

我正在使用这个Sql命令

INSERT INTO SAMPLES (reportno, samplename, analysisname) 
       VALUES (1, 'Lemon', 'ecobali1,ecobali2,ecobali3)
我的结构将是:

REPORT NO : 1
   SAMPLE : LEMON

   ANALYSIS

   Ecobali1

   Ecobali2

   Ecobali3
稍后,我需要一个接一个地获取AnalysisName以输入详细信息

SELECT * FROM SAMPLES WHERE reportno =1
我的问题是:

有可能发展这样一种结构吗

我被困在这里,因为我需要在一行中添加多个值,然后逐个获取它们


我可以在这里使用TVP吗?如何使用?

尝试在表的一行中存储多个值不是一个好的做法。对于每一行,只需要一组值就可以了,因为存储很便宜。如果希望有一个insert语句,可以通过添加到VALUES子句来插入多行。我找到了说明,并复制了以下示例:

INSERT INTO Table ( Column1, Column2 ) VALUES ( Value1, Value2 ), ( Value1, Value2 )

是的,您可以在一个表中以这种扁平结构保存数据,但这不是一种好的方式

添加操作analysisname的工作 SQL查询中的数据分析困难
您应该创建一个主表和明细表,其中明细表存储analysisname

我看到的是,您应该创建另一个名为analysis的表


这两个表将为一个样本创建一个关系,其中包含零次或多次分析

首先感谢您的回复。我关心的是如何确保在添加后获得正确的值。我成功地在这里添加了这样的数据。稍后,我需要一个接一个地获取值1值2我如何才能确保获得正确的值这里的要点是您的表结构不正确。报告需要一个表,分析需要另一个单独的表。你可能真的需要更多,但希望你能得到一般的概念。是的,我想我不太明白你在这里想要完成什么?@Cory让我试着准备详细的结构并与你分享。你有没有任何邮件地址让我可以和你分享我的期望与论坛网站不同,我们不使用感谢,或任何感谢的帮助,或签名。看见顺便说一句,这是提前感谢,不是提前感谢。
analysis((primary)analysisID,analysisname,analysisdesc);
SAMPLES((primary)reportNo,samplename,analysisID(foreign));