从存储过程调用c#返回错误代码

本文关键字:返回 错误代码 调用 存储过程 | 更新日期: 2023-09-27 18:02:39

我正在运行一个VS2013项目,该项目要求我连接到SQL Server后端数据库并在该数据库上运行存储过程。因此,在我的app_code文件夹中,我创建了一个SQLHelper类:

public class SQLHelper
{
    private const string myConnSetting = "zDevConnection";
    public DataSet getSQLData(string mySQLStoredProcedure)
    {
        try
        {
            DataSet ds = new DataSet();
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[myConnSetting].ConnectionString;
            SqlCommand cmd = new SqlCommand(mySQLStoredProcedure);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlConnection cn = new SqlConnection(connectionString);
            cmd.Connection = cn;
            SqlDataAdapter ad = new SqlDataAdapter(cmd);
            ad.Fill(ds);
            return ds;
        }
        catch (Exception BadSQL)
        {
            throw BadSQL;
        }
    }
}

因此,在我的控制器中,我可以调用并"填充"数据集,以便使用这些数据集进行操作。

所以。

    protected DataSet insertBlogEntry()
    { 
        SQLHelper mySQL = new SQLHelper();
        return mySQL.getSQLData("mydatabase.MySTPName");
    }

我这样称呼它:

DataSet myEntry = insertBlogEntry(model.Email, model.Name, model.Company);

一切都很好,除了存储过程没有按预期工作之外,其他一切都很正常。例如,如果我试图插入重复的记录,它会返回一条受控的错误消息。

所以我想做的是在我的控制器中捕获并返回这个错误。我发现我的SQLHelper类中有一个错误,但我不知道如何将这个错误返回到我的控制器,该控制器需要一个数据集而不是字符串。

有人能给我看看灯吗?

谢谢,Craig

从存储过程调用c#返回错误代码

是我,我是一个胡言乱语的傻瓜,我应该包装数据集myEntry=。。。。在尝试捕获块中