C# 将可变数量的参数传递给存储的进程
我试图将数量可变的参数传递到MySql存储过程中。我在SQLServer中通过使用xml或解析带分隔符的列表实现了这一点。我猜我可以在MySql中解析列表,但是还有其他选择吗C# 将可变数量的参数传递给存储的进程,c#,.net,mysql,C#,.net,Mysql,我试图将数量可变的参数传递到MySql存储过程中。我在SQLServer中通过使用xml或解析带分隔符的列表实现了这一点。我猜我可以在MySql中解析列表,但是还有其他选择吗 我想做的是我有一个配置,它存储了一个要返回的数据过滤器。该过滤器基于与需要返回的字段相对应的类别(基于公司的可变编号)。我非常想用这些配置的类别ID编写一个“IN”子句,但我通过存储过程完成所有工作 如果要从C#转到MySql,有很多代码选项。它们的基本形式是创建一个传递所有参数的函数。然后将其封装在一个机制中,该机制允许
我想做的是我有一个配置,它存储了一个要返回的数据过滤器。该过滤器基于与需要返回的字段相对应的类别(基于公司的可变编号)。我非常想用这些配置的类别ID编写一个“IN”子句,但我通过存储过程完成所有工作 如果要从C#转到MySql,有很多代码选项。它们的基本形式是创建一个传递所有参数的函数。然后将其封装在一个机制中,该机制允许您仅指定在特定情况下关心的参数,并为其余参数设置默认值 您可以使用对象初始值设定项、匿名类、列表、变量参数函数以及其他一些我没有想到的东西来实现这一点
如果这符合您的设计目标,请选择一种机制并询问更多信息。如果您要从C#转到MySql,则有很多代码选项。它们的基本形式是创建一个传递所有参数的函数。然后将其封装在一个机制中,该机制允许您仅指定在特定情况下关心的参数,并为其余参数设置默认值 您可以使用对象初始值设定项、匿名类、列表、变量参数函数以及其他一些我没有想到的东西来实现这一点 如果这符合您的设计目标,请选择一种机制并询问更多信息。例如,您可以在存储的进程中创建“存根”输入参数,并
CREATE PROCEDURE [dbo].[ThisTakesMultipleOptionalParameters
@SerialNumber int = null,
@ProductName nvarchar(100) = null
AS
然后,您可以使用指定的一个或多个参数执行它,也可以不指定
EXEC dbo.ThisTakesMultipleOptionalParameters @ProductName='Doritos'
EXEC dbo.ThisTakesMultipleOptionalParameters @SerialNumber=666
EXEC dbo.ThisTakesMultipleOptionalParameters @SerialNumber=696, @ProductName='Juicy Bits'
例如,您可以在存储的进程中创建“存根”输入参数,并
CREATE PROCEDURE [dbo].[ThisTakesMultipleOptionalParameters
@SerialNumber int = null,
@ProductName nvarchar(100) = null
AS
然后,您可以使用指定的一个或多个参数执行它,也可以不指定
EXEC dbo.ThisTakesMultipleOptionalParameters @ProductName='Doritos'
EXEC dbo.ThisTakesMultipleOptionalParameters @SerialNumber=666
EXEC dbo.ThisTakesMultipleOptionalParameters @SerialNumber=696, @ProductName='Juicy Bits'
一般来说,我建议不要这样做;你能给我们举个例子,说明你为什么这样做,以及你是如何做的,这样我们可能会给出更好的建议吗?补充了一些关于这个问题的更多细节。一般来说,我建议不要这样做;你们能给我们举个例子说明你们为什么这么做,以及你们是如何做的,这样我们可能会给出更好的建议吗?补充了一些问题的细节