在ASP .NET中通过C#获取存储过程脚本

Anj*_*jyr 2 c# asp.net ado.net sql-server-2008

我正在使用DbCompre工具。基本上我的要求是通过C#在Web应用程序中生成存储过程脚本。首先有可能吗?

在SQL Server中,我们可以通过右键单击或借助命令轻松生成脚本sp_helptext <ProcedureName>。

这是我的代码:

public DataTable generateScripts()
{
      SqlCommand cmd = new SqlCommand("sys.sp_helptext dloc_GetTasksRewarehousePutaway", AppCon);
      cmd.CommandType = CommandType.StoredProcedure;
      SqlDataAdapter adp = new SqlDataAdapter(cmd);
      adp.Fill(DS);
      adp.SelectCommand = cmd;
      return DS.Tables[0];
}
Run Code Online (Sandbox Code Playgroud)

执行代码时出现此错误:

找不到存储过程'sys.sp_helptext dloc_GetTasksRewarehousePutaway'

但是在数据库中,此过程可用。

Rah*_*ngh 6

绝对有可能,您需要将SP名称作为参数传递给参数objname:-

SqlCommand cmd= new SqlCommand("sys.sp_helptext", AppCon);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@objname", "dloc_GetTasksRewarehousePutaway");
Run Code Online (Sandbox Code Playgroud)