当前位置: 首页 > 面试题库 >

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

东郭骁
2023-03-14
问题内容

我是存储过程的新手。

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

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

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

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

我怎样才能做到这一点?


问题答案:

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

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



 类似资料:
  • 我在SQL Server 2008中有一个存储过程,它将数组作为输入参数。根据http://www.sommarskog.se/arrays-in-sql-2008.html,我将使用TVP。但是,MSSQL JDBC驱动程序不支持这一点。因此,我无法使用SimpleJDBCall来执行存储过程,因为我无法传递数组参数。我返回使用JdbcTemplate调用此过程,如下所示: 我遇到的问题是存储过

  • 我在HANA数据库中创建了这个存储过程,它使用两个参数,一个是表类型,另一个是。 现在我想在Java中调用这个过程,我写了这样的东西。 有人能告诉我在调用此存储过程时,如何将对象作为参数中的表实体传递吗?

  • 问题内容: 相当全面的大脑查询提供了千一百种传递可变长度参数列表的方法,这些方法涉及以下方法: 基于CLR的将字符串解析为整数列表的方法 需要存在“ Numbers”表(wtf?)的表值函数 将数据作为XML传递 我们的要求是将两个可变长度的整数列表(最大20个整数)传递给存储过程。上面概述的所有方法似乎都很有趣。 这仅仅是必须完成的方式,还是有更好的方式? 问题答案: 是的,我一定会为此考虑一下

  • 问题内容: 如何将变量发送到服务器?我是否将它们添加到请求的URL的末尾,例如? 因此或多或少: 问题答案: 如果您想使用GET将变量传递给服务器,那就可以了。记住要正确地逃避(urlencode)! 如果您不希望变量可见,也可以使用POST。 一个完整的示例将是: 为了测试这一点(使用PHP),您可以查看检索到的内容。

  • 问题内容: 我在Linux上使用Mono / C#,并且具有以下C#代码: 我调用一个Linux共享库调用,定义如下: 在调用Linux函数之前,我已经将参数设置为已知值。我还将printf放在Linux函数的开头,并且所有参数都按预期输出值。因此参数似乎是从C#传递到Linux的。返回值也不错。 但是,所有其他通过引用传递的参数都会返回垃圾。 我修改了Linux函数,以便仅修改值并返回。这是代码