【问题标题】:Accessing stored procedures from typed data set从类型化数据集中访问存储过程
【发布时间】:2013-02-15 18:39:52
【问题描述】:

您好,我刚刚学习使用类型化的 DataSet,我似乎找不到一个很好的例子来说明如何使用存储过程来使用它们。

到目前为止,我设法创建了 DataSet,添加了表和存储过程。这就是我所拥有的:

例如,如果我想使用 GetBooks 存储过程,我必须传递两个参数。我尝试过这样做:

BooksAndCategoriesDataSet context = new BooksAndCategoriesDataSet();
context.GetBooks(1 , 5)

但是你们已经知道这行不通。

那么如何在我的代码中使用类型化数据集中的任何存储过程?

【问题讨论】:

  • 看看你在设计师身上有什么,我觉得你缺少了一些东西。您无需为 getBooksBy 创建单独的表格适配器。 . . etc 相反,您可以在一个 tableadapter 中创建多个参数查询

标签: c# ado.net dataset strongly-typed-dataset


【解决方案1】:

首先右键单击DataSet 并执行Add -> Query -> Select stored procedure(请记住,从存储过程返回的查询应该匹配DataSet)或者您可以在Visual Studio 中从Server Explorer 拖放存储过程(这个一个将解析存储过程返回的查询并相应地创建DataSet)。这也将创建 2 个类:<DataSetName>TableAdapter<DataSetName>DataTable

接下来要在代码中使用它,您必须使用 2 个不同的类:

var ta = new GetBooksTableAdapter();
var dt = new GetBooksDataTable();

ta.Fill(dt, 1, 5); //where 1 is first parameter, 5 is second.

要访问从数据库返回的数据,请执行以下操作:

foreach (GetBooksRow row in dt.Rows)
{
    //logic
}

我与DataSets 合作了很多,我强烈建议不要使用它们,但我希望这会为您指明正确的方向。

【讨论】:

    猜你喜欢
    • 2012-08-03
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2013-04-30
    • 2010-09-08
    • 2011-05-26
    相关资源
    最近更新 更多