读取SQL Server存储过程参数并在运行时生成UI,以便调用该存储过程

时间:2017-11-06 02:50:17

标签: c# .net sql-server stored-procedures

Microsoft提供数据连接对话框UI nuget包,它基本上提供了连接到SQL Server的标准UI:https://www.nuget.org/packages/DataConnectionDialog/

我想知道是否有像DataConnectionDialog这样的nuget包,它还提供了用于从C#app调用存储过程的标准UI界面。或者是否可以直接从C#apps调用SQL Server Management Studio中的某些组件,如SQL查询分析器?

我想在我的C#应用​​程序中添加UI,它基本上允许用户输入参数并调用一些存储过程。但我不想为每个存储过程设计Winforms UI。有时存储过程参数会发生变化,我也必须更改UI。我想要一些灵活的东西。

1 个答案:

答案 0 :(得分:0)

您可以通过从数据库获取存储过程架构然后使用styleid,classid或参数名称为每个参数创建教科书来执行此操作。 它如下:

//Get the list of params first.
StackPanel stk = new StackPanel();
foreach(var param in params)
{
   TextBox box = new TextBox(){Name = param.Name};
   stk.Childeren.Add(box)
}

然后检索数据如下:

//Write you sql command
foreach(TextBox box in stk.Childeren)
{
   cmd.Parameters.Add($"{box.Name}", SqlDBType.nvarchar).value = box.text;
}

希望您觉得这很有帮助 - 如果它解决了您的问题,请不要忘记将其标记为答案。