【问题标题】:accessing dataset tables [duplicate]访问数据集表 [重复]
【发布时间】:2016-03-07 06:53:01
【问题描述】:

我想知道从数据集中获取表格的正确方法是什么。

我应该在我的过程中使用 select 语句返回数据吗?

我就是这样做的,它有效,但我不确定这是正确的方法。

选择 SCOPE_IDENTITY()

这就是我访问我的表的方式:

ds.Tables[0].Rows[0][0]).ToString()

【问题讨论】:

  • SCOPE_IDENTITY() 是一个标量,而不是一个表。请解释您要做什么。
  • 我正在调用一个创建用户的过程,在我的 c# 代码中我想获取表中的最后一个数字,起初我试图访问我的表,如 ds.Tables[0].Rows [0][0]).ToString() 但后来我意识到我没有得到表,所以我把 SELECT SCOPE_IDENTITY() 放在我的程序中
  • 您不想要“我表中的最后一个数字”,您想要插入行的 ID。使用OUTPUT 子句,如Best way to get identity of inserted row 中所述。

标签: c# sql sql-server


【解决方案1】:

您可能想尝试使用 DataRow 并在集合中循环

foreach(DataRow row in ds.Tables[0])
{
    string someData = row["keyname"].ToString();
}

首先我不确定你的问题。但是 MSDN 有很多文档,您可以阅读更多有助于数据表的数据结构以及如何访问它们。甚至像这样用linq查询DataTable

var results = from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;

【讨论】:

  • 问题是,如果我不将 SELECT SCOPE_IDENTITY() 放入我的程序中,ds.Tables[0] 为空
  • 好吧,我不确定你是如何填充表格的,你可以研究一下使用 DataAdapter 并调用 fill() 方法并将你正在使用的命令传递给它
  • 我会尝试使用 DataAdapter。
猜你喜欢
  • 2013-12-01
  • 1970-01-01
  • 2013-08-24
  • 2011-03-21
  • 2019-02-19
  • 1970-01-01
  • 2018-06-06
  • 2019-04-27
  • 2014-03-13
相关资源
最近更新 更多