使用 JavaScript 获取存储过程的结果

Posted

技术标签:

【中文标题】使用 JavaScript 获取存储过程的结果【英文标题】:getting the result of stored procedure using JavaScript 【发布时间】:2011-07-13 09:44:42 【问题描述】:

我有一个与 Web 无关的 javascript 脚本,需要运行一个包含引发错误语句的存储过程,并确保该过程已成功运行。

如果我这样做,

function runSQL()

    var rs = new ActiveXObject("ADODB.Recordset");

    try 
        rs.open("EXEX spAddToPar 'foo',1 , 2 ", conn);          
    
    catch (e) 
        rs.close(); 
       
    rs.close();

我如何知道它是否运行成功?

【问题讨论】:

用后端代码在服务器上运行这个不是更好吗?在那里,您拥有管理错误等的所有设施。您可以将响应返回给 js,并使用 ajax 来管理流程。还是有原因必须在 js 中? 【参考方案1】:

目前你没有。您刚刚发现任何错误的唯一迹象并将其丢弃。

catch 块中,您必须做一些稍后可以检查的事情,例如更改变量的值:

function runSQL() 
  var rs = new ActiveXObject("ADODB.Recordset");
  var success = true;
  try 
    rs.open("EXEC spAddToPar 'foo', 1, 2", conn);          
   catch (e) 
    success = false;
  
  rs.close();
  return success;

注意:这仅表明是否存在某种错误。如果您想确切地知道错误是什么,您可能想从异常对象中获取更多信息。不确定异常来自存储过程引发错误,还有其他可能出错的地方。

【讨论】:

以上是关于使用 JavaScript 获取存储过程的结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 spring 中使用 SimpleJDBCCall 获取存储过程的结果以及两个结果表?

PHP如何调用SQLServer2012的存储过程并获取返回结果集及出参?

使用存储过程从查询中获取结果

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?

从 SQL Server 存储过程中获取结果