小编典典

如何使存储过程使用传递的参数返回“变量集”?

sql

我是存储过程的新手。

假设我有一个IDCategory(int),并将其传递给存储过程。在正常情况下,它会:

找到我所有与IDCategory等于我要告诉您的IDCategory的列表。

因此,它会显示3清单,并创建一个带有列的表:

IDListing,IDCategory,价格,卖方,图像。

我怎样才能做到这一点?


阅读 149

收藏
2021-03-23

共1个答案

小编典典

要从存储过程填充数据集,您将具有如下代码:

SqlConnection mySqlConnection =new SqlConnection("server=(local);database=MyDatabase;Integrated Security=SSPI;");

    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
    mySqlCommand.CommandText = "IDCategory";
    mySqlCommand.CommandType = CommandType.StoredProcedure;
    mySqlCommand.Parameters.Add("@IDCategory", SqlDbType.Int).Value = 5;

    SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
    mySqlDataAdapter.SelectCommand = mySqlCommand;
    DataSet myDataSet = new DataSet();
    mySqlConnection.Open();
    mySqlDataAdapter.Fill(myDataSet);

您的连接字符串将有所不同,并且有几种不同的方法可以执行此操作,但这应该可以帮助您....一旦掌握了其中的一些内容,请查看Using语句。它有助于清理资源,并且需要更少的代码行。假定存储过程名称IDCategory具有一个称为相同参数的参数。您的设置可能有所不同。

在这种情况下,您的存储过程将类似于:

CREATE PROC [dbo].[IDCategory] 
    @IDCategory int
AS 
    SELECT IDListing, IDCategory, Price, Seller, Image
         FROM whateveryourtableisnamed
         WHERE IDCategory = @IDCategory

这是有关存储过程基础的链接:http : //www.sql-
server-
performance.com/articles/dba/stored_procedures_basics_p1.aspx

这是有关ADO.Net的数据集和其他项目的链接:http
:
//authors.aspalliance.com/quickstart/howto/doc/adoplus/adoplusoverview.aspx

2021-03-23