gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 08:54:28 24 4
gpt4 key购买 nike

我正在运行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;
}
}
}

这样,在我的 Controller 中,我可以调用和“填充”我可以用来做事的数据集。

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

我这样称呼:
DataSet myEntry = insertBlogEntry(model.Email, model.Name, model.Company);

一切都很好,除了存储过程无法按预期工作的地方以外,其他所有工作都“正常”,例如,如果我尝试插入重复记录,则会抛出受控错误消息。

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

谁能给我看看灯?

谢谢,
克雷格

最佳答案

是我正在狂奔,我应该将数据集myEntry = ....包裹在try catch块中

关于c# - 从存储过程调用C#返回错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com