C# 访问数据集表

C# 访问数据集表,c#,sql,sql-server,C#,Sql,Sql Server,我想知道从dataset获取表的正确方法是什么 是否应使用select语句返回过程中的数据 我就是这样做的,但我不确定这是正确的方法 选择范围_标识() 这就是我访问表格的方式: ds.Tables[0].Rows[0][0]).ToString() 您可能希望尝试使用DataRow并在集合中循环 foreach(DataRow row in ds.Tables[0]) { string someData = row["keyname"].ToString(); } 首先我不确定你的

我想知道从dataset获取表的正确方法是什么

是否应使用select语句返回过程中的数据

我就是这样做的,但我不确定这是正确的方法

选择范围_标识()

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

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

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

foreach(DataRow row in ds.Tables[0])
{
    string someData = row["keyname"].ToString();
}
首先我不确定你的问题。但是MSDN有很多数据,您可以阅读更多有助于数据表以及如何访问数据表的数据结构。甚至可以像这样用linq查询数据表

var results = from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;
var results=来自myDataTable.AsEnumerable()中的myRow
其中myRow.Field(“RowNo”)==1
选择myRow;

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

foreach(DataRow row in ds.Tables[0])
{
    string someData = row["keyname"].ToString();
}
首先我不确定你的问题。但是MSDN有很多数据,您可以阅读更多有助于数据表以及如何访问数据表的数据结构。甚至可以像这样用linq查询数据表

var results = from myRow in myDataTable.AsEnumerable()
where myRow.Field<int>("RowNo") == 1
select myRow;
var results=来自myDataTable.AsEnumerable()中的myRow
其中myRow.Field(“RowNo”)==1
选择myRow;

问题是,如果我没有在我的过程中放入SELECT SCOPE\u IDENTITY(),ds.Tables[0]将为空。我不确定您是如何填充表的,您可以研究使用DataAdapter并调用fill()方法并向其传递您正在使用的命令。我将尝试使用DataAdapter。问题是ds.Tables[0]如果我没有将SELECT SCOPE_IDENTITY()放在我的过程中,则为null。我甚至不确定您是如何填充表的,您可以研究使用DataAdapter并调用fill()方法并将您使用的命令传递给它。我将尝试使用DataAdapter。
SCOPE_IDENTITY()
是标量,而不是表。请解释您试图执行的操作。我正在调用一个创建用户的过程,在我的c#代码中,我想获取表中的最后一个数字,起初我试图访问我的表,如ds.Tables[0]。Rows[0][0])。ToString(),但后来我意识到我没有得到任何表,所以我在过程中放入了SELECT SCOPE#IDENTITY()。您不希望“我的表中的最后一个数字”您需要插入行的ID。请使用
OUTPUT
子句,如中所述。
SCOPE\u IDENTITY()
是一个标量,而不是一个表。请解释您试图执行的操作。我正在调用一个创建用户的过程,在我的c#code中,我想获取表中的最后一个数字,起初我试图访问我的表,如ds.Tables[0]。Rows[0][0])。ToString(),但后来我意识到我没有得到表,所以我将SELECT SCOPE\U IDENTITY()在我的过程中,您不需要“我的表中的最后一个数字”,而是需要插入行的ID。请使用
输出
子句,如中所述。