将列值分配给c#中的数据集时出现“位置无行”

     2023-03-27     232

关键词:

【中文标题】将列值分配给c#中的数据集时出现“位置无行”【英文标题】:'No row at position' when assigning column value to a dataset in c# 【发布时间】:2013-12-19 06:48:19 【问题描述】:

我正在尝试执行以下代码。我要做的就是将数据集中的一列复制到另一个数据集的一列中。代码如下:

    int i=0
    foreach (DataRow dr in ds_input.Tables[0].Rows)
    
     ds_output.Tables["output"].Rows[i]["Serial_Number"] = dr["Serial Number"].ToString();
i++;
    

dr 的列值分配给ds 时,编译器返回以下错误:

There is no row at position 0.

尽管进行了以下添加,但它返回相同的错误:

   int i=0;
     foreach (DataRow dr in ds_input.Tables[0].Rows)
     
         ds_output.Tables["output"].NewRow();
         ds_output.Tables["output"].Rows[i]["Serial_Number"] = dr["Serial Number"].ToString();
     i++;

【问题讨论】:

【参考方案1】:

您必须将DataRow 添加到DataTable。如果输出表和输入表具有相同的列,您可以使用DataTable.Clone 克隆不复制数据的表。然后您可以使用DataTable.ImportRow 从输入表中创建DataRow 的副本并将其添加到输出表中。或者您可以使用table.Rows.Add 添加一个新的DataRow 并使用输入数据行的ItemArray(所有字段):

DataSet ds_output = new DataSet();
DataTable tblOutput = ds_input.Tables[0].Clone();
ds_output.Tables.Add(tblOutput);
foreach (DataRow dr in ds_input.Tables[0].Rows)

    tblOutput.ImportRow(dr);
    // or:
    DataRow newRow = tblOutput.Rows.Add();
    newRow.ItemArray = dr.ItemArray;

如果您想创建输入表的完整副本,您可以使用DataTable.Copy

DataTable tblOutput = ds_input.Tables[0].Copy(); // nothing more needed

【讨论】:

实际上,输出数据集中有 4 列,其中 1 列从输入数据集中复制,其余 3 列从数据库中复制。如果你能给我一个你的第二个建议的例子,那就太好了。 @Salik:我已经给出了两个样本。第二个在循环中以//or 开始。您可以随意修改newRow,您不需要使用ItemArray 来复制所有字段。您可以使用newRow.SetField("ColumnName", value) 设置字段的值。请注意tblOutput.Rows.Add() 不仅返回DataRow,而且这一行已经添加到DataTable,因此您以后无需再次添加。

将列值分配给熊猫数据框中的唯一行[重复]

】将列值分配给熊猫数据框中的唯一行[重复]【英文标题】:Assigncolumnvaluestouniquerowinpandasdataframe[duplicate]【发布时间】:2020-04-1311:05:00【问题描述】:我知道了。数据框:AAABACADCol_1Col_2Col_3NortheastArgentinaNortheastArgentinaSouthAmericaCorri... 查看详情

Spark - 将字符串标签分配给空值时出现类型不匹配

】Spark-将字符串标签分配给空值时出现类型不匹配【英文标题】:Spark-GettingTypemismatchwhenassigningastringlabeltonullvalues【发布时间】:2018-09-1010:02:54【问题描述】:我有一个包含空值的stringType列的数据集。我想用一个字符串更改每一... 查看详情

no_data_found 时出现异常,我想将两个变量分配给 null

...:24【问题描述】:我已经编写了一个选择查询来获取两个列值,如果出现异常,我想在ORACLESTOREDPROCEDURE中将这些变量分配给null。例如:selectcolumnA,columnB 查看详情

在 C# winforms 中读取 csv 文件时出现数据错误

...一个C#winforms正在从csv文件中读取一列。它正确读取了4列中的3列。csv文件中的第4列是S4,但数据集显示的是4。代码是:stringconn=string.Format(@"Provider=Microsoft. 查看详情

将 unsigned int 分配给结构中的数组枚举时出现编译错误

】将unsignedint分配给结构中的数组枚举时出现编译错误【英文标题】:Compilationerrorinassigningunsignedinttoanenumofarrayswithinstructure【发布时间】:2013-03-0706:33:16【问题描述】:typedefstructuint64_tlow;uint64_tcache_size;uint32_trange;uint8_tcache;///Numbe... 查看详情

如果 sas 中的任何列值相同,如何为行分配唯一值

】如果sas中的任何列值相同,如何为行分配唯一值【英文标题】:Howtoassignuniquevaluetorowsifanycolumnvalueissameinsas【发布时间】:2020-01-0708:15:47【问题描述】:我有2个sas数据集。一个数据集具有基于5列值的集群。如果行之间的任何列... 查看详情

构建使用强类型数据集的 C++/CLI 项目时出现警告 C4564

...11:30:15【问题描述】:升级到VC++2010后,在构建使用C#项目中的强类型数据集的C++/CLI项目时会引发警告C4564(方法定义了不受支持的默认参数)。ReadersManage 查看详情

“在将哈希分配给 perl 中的哈希时,“不能使用字符串 (””) 作为哈希引用,而“严格引用”在使用时出现错误

】“在将哈希分配给perl中的哈希时,“不能使用字符串(””)作为哈希引用,而“严格引用”在使用时出现错误【英文标题】:"Can\'tusestring("")asaHASHrefwhile"strictrefs"inuseat"errorwhileassigninghashtoanhashinperl【发布... 查看详情

将列值除以 impala 中的总行数

】将列值除以impala中的总行数【英文标题】:Dividecolumnsvaluesbytotalrowsinimpala【发布时间】:2015-06-0423:46:43【问题描述】:SELECTCOUNT(DISTINCTcgi.sample_id由于Impala不允许SET操作或select语句中的子查询,我很难弄清楚如何将列值除以返回... 查看详情

使用 Scala 将列分配给 Spark Dataframe 中的另一列

】使用Scala将列分配给SparkDataframe中的另一列【英文标题】:AssigningcolumnstoanothercolumnsinaSparkDataframeusingScala【发布时间】:2019-03-0908:07:46【问题描述】:我正在研究这个极好的问题,以提高我的Scala技能和答案:Extractacolumnvalueandass... 查看详情

将 Delegate 分配给 PopoverPresentationController 时出现 Nil 错误

】将Delegate分配给PopoverPresentationController时出现Nil错误【英文标题】:NilerrorassigningDelegatetoPopoverPresentationController【发布时间】:2016-06-2712:42:33【问题描述】:我在Xcode7.3中使用Swift2.2将Delegate分配给PopoverPresentationController时遇到问... 查看详情

熊猫:将列值与另一列中的特定值相加

】熊猫:将列值与另一列中的特定值相加【英文标题】:Pandas:sumcolumnvaluesagainstspecificvalueinanothercolumn【发布时间】:2021-08-3002:59:30【问题描述】:我正在使用这个数据框:InvoiceNoAmountYear-Month11002019-0121252019-0232002019-0243002019-03512020... 查看详情

将 HTML5 视频标签分配给 webGL 纹理时出现 CORS/跨域安全异常

】将HTML5视频标签分配给webGL纹理时出现CORS/跨域安全异常【英文标题】:CORS/crossdomainsecurityexceptionwhenassigningHTML5videotagtowebGLtexture【发布时间】:2012-12-2118:57:32【问题描述】:我想将远程视频分配给WebGL中的纹理。由于视频源与文... 查看详情

SQL 将列值拆分为 Netezza 中的行

】SQL将列值拆分为Netezza中的行【英文标题】:SQLtosplitacolumnvaluesintorowsinNetezza【发布时间】:2018-10-1716:20:05【问题描述】:我在一列中有以下方式的数据。列中的数据由两个空格分隔。4EGC6CCC6DE6MMC6LLL3BCC3我需要把它分成如下。我... 查看详情

将值分配给指针C++时出现分段错误

】将值分配给指针C++时出现分段错误【英文标题】:SegmentationFaultwhenassigningvaluetoapointerC++【发布时间】:2020-07-2110:59:35【问题描述】:当我运行以下并行代码时,我在第18行(两次打印之间)的分配处遇到分段错误。我真的不明... 查看详情

Python:如何在比较其他列时将列值填充到另一个数据框中的新列?

】Python:如何在比较其他列时将列值填充到另一个数据框中的新列?【英文标题】:Python:Howtopopulateacolumnvaluetonewcolumninanotherdataframeoncomparingothercolumn?【发布时间】:2022-01-1322:47:27【问题描述】:有两个数据框dfStoreSkuFixture11AAProduc... 查看详情

将内存分配给结构向量的指针时出现 SEG FAULT

】将内存分配给结构向量的指针时出现SEGFAULT【英文标题】:SEGFAULTwhileassigningmemorytothepointerofvectorofstructs【发布时间】:2012-11-1423:36:33【问题描述】:structLeafDataEntryvoid*key;inta;;intmain()//Iwanttodeclareavectorofstructurevector<LeafDataEntr 查看详情

将变量分配给python文本文件中的数据集

】将变量分配给python文本文件中的数据集【英文标题】:Assigningavariabletoadatasetwhichisinatextfileinpython【发布时间】:2015-02-2711:40:01【问题描述】:我想为Python中的数据集分配一个变量。数据集位于来自MSExcel的文本文件中。我在matla... 查看详情