如何查看 SQL 查询是否正确执行且没有错误?

红角

我正在创建一个分离数据库的程序。

我如何检查存储过程是否已运行而没有错误,以便我可以向用户确认它已完全完成。

try catch在执行周围使用 a ,但我不是 100% 确定这会返回所有内部错误?

我担心的是,如果我写:

try
{
    cmd.ExecuteNonQuery();
    MessageBox.Show("it has finished");
}
catch (exception ex)
{
ex.ToString();
}

不可靠

我的命令:

 return "sp_detach_db '" + dbType[db] + "', 'true'";
手榴弹编码器

您的原始代码很好(try/catch)...您传入的字符串是您尝试执行的操作的棘手部分。我会看这个答案,找出返回 0 或 1 的命令........如果返回值为 1,那么您将抛出一个新异常。

使用返回值调用存储过程

根据文档:您在 RETURN_CODE 之后。

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-detach-db-transact-sql

Return Code Values
0 (success) or 1 (failure)
Result Sets
None

伪c#代码

using (SqlConnection conn = new SqlConnection("MyString"))
using (SqlCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = string.Format("sp_detach_db '{0}', 'true'", myDatabaseName); /* where myDatabaseName is a string */
    cmd.CommandType = CommandType.Text;


    var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    conn.Open();
    cmd.ExecuteNonQuery();
    object result = returnParameter.Value;
    int resultInt = Convert.ToInt32(result);
    if( 0 != resultInt )
    { throw new ArgumentOutOfRangeException("detach failed");}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Linux上的SQL Server中查看执行计划

如何使用pyodbc和MS-Access在Python cursor.execute中查看真正的SQL查询

错误:您的SQL语法有错误,请查看与您的MariaDB相对应的手册以获取正确的语法

如何查看Django ORM的queryset的相应SQL查询?

如何查看Django正在运行的原始SQL查询?

在C#中执行SQL查询时出错,当我手动输入它时没有错误

在PHP中执行其他查询之前,如何查看SQL查询的结果是否为空

如何查看被“ @”抑制的错误?

Django如何查看生成的SQL查询?

如何查看Ecto测试期间执行的SQL?

如何正确执行此SQL查询?

T-SQL(Azure),如何查看集合中是否有多个值

如何在Oracle SQL Developer中查看/执行授予的存储过程

如何查看表结构的sql查询?

从SQLPlus运行SQL脚本失败时如何查看错误?

如何查看SQL中的其他列是否为空?

PDO插入SQL不会执行且没有错误

如何在SQL Server Transact SQL中比较变量以查看其是否为空

mysql-错误-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以在附近使用正确的语法

如何查看Access中按钮触发的SQL查询?

错误号:1064您的SQL语法有错误。查看与您的MySQL服务器版本相对应的手册以获取正确的语法

sql查询以查看关联

如何在 SQuirrel SQL 中查看 Oracle 执行计划?

如何授予执行权限但不查看sql server中的存储过程

如何在SSMS中查看执行的SQL

如何查看列是否包含空值并计算它们是否在 SQL 中

如何查看 DMV 背后的 SQL

SQL Server:如何查看对表的查询统计信息

要查看的 SQL 查询