C# 从强类型数据集中获取一个元素
今天,我刚学会在存储过程中使用强类型数据集,除了一个小问题外,一切都进行得很顺利。考虑到数据表中只有一列和一行的事实,我可以想出如何从数据表中获取数据,并对其进行itaratingC# 从强类型数据集中获取一个元素,c#,ado.net,dataset,strongly-typed-dataset,C#,Ado.net,Dataset,Strongly Typed Dataset,今天,我刚学会在存储过程中使用强类型数据集,除了一个小问题外,一切都进行得很顺利。考虑到数据表中只有一列和一行的事实,我可以想出如何从数据表中获取数据,并对其进行itarating var bookCountAdapter = new CountBooksTableAdapter(); var bookCountDataTable = new BooksAndCategoriesDataSet.CountBooksDataTable(); bookCountAdapter.Fill(bookCo
var bookCountAdapter = new CountBooksTableAdapter();
var bookCountDataTable = new BooksAndCategoriesDataSet.CountBooksDataTable();
bookCountAdapter.Fill(bookCountDataTable);
int totalNumberOfBooks = 0;
foreach (BooksAndCategoriesDataSet.CountBooksRow row in bookCountDataTable) {
totalNumberOfBooks = row.TotalNumberOfBooks;
}
return totalNumberOfBooks;
数据集使用的存储过程是:
CREATE PROCEDURE [dbo].[CountBooks]
AS
SELECT COUNT(*) FROM Books
现在,我的当前代码工作正常。问题是我看不出对bookCountDataTable
进行itarating的原因,因为我在其中只有一个int类型的元素,我只想检索它
有没有一种方法我可以通过写类似的东西来获得这个元素:
bookCountDataTable.TotalNumberOfBooks
因为我只有一个int类型的元素,我只想
找回那个
使用索引访问它,然后如下所示:
return bookCountDataTable[0].TotalNumberOfBooks
但是,您应该在之前检查表的行计数
从foreach循环看,如果其中有多行,那么将返回最后一行的TotalNumberofBooks
因为我只有一个int类型的元素,我只想
找回那个
使用索引访问它,然后如下所示:
return bookCountDataTable[0].TotalNumberOfBooks
但是,您应该在之前检查表的行计数
从foreach循环看,如果其中有多行,那么将返回最后一行的
TotalNumberofBooks
我相信你可以这样做:
if(bookCountDataTable.Rows.Count > 0)
{
totalNumberOfBooks = Convert.ToInt32(bookCountDataTable.Rows[0]["TotalNumberOfBooks"]);
}
我相信你可以这样做:
if(bookCountDataTable.Rows.Count > 0)
{
totalNumberOfBooks = Convert.ToInt32(bookCountDataTable.Rows[0]["TotalNumberOfBooks"]);
}
如果你确定你将有一个单一的元素,你可以这样做
int totalNumberOfBooks = bookCountDataTable[0].TotalNumberOfBooks;
在任何情况下,都不应该使用数据集来检索单个值。有更好的方法可以做到这一点
即使在键入的数据集上,您也可以使用“设计”视图上的向导来创建返回单个值的查询。如果您确定您将拥有单个元素,则可以执行以下操作
int totalNumberOfBooks = bookCountDataTable[0].TotalNumberOfBooks;
在任何情况下,都不应该使用数据集来检索单个值。有更好的方法可以做到这一点
即使在键入的数据集上,也可以使用“设计”视图上的向导创建返回单个值的查询。
bookCountDataTable[0]。TotalNumberOfBooks
应该可以工作。bookCountDataTable[0]。TotalNumberOfBooks
应该可以工作。