2013-04-09 31 views
0

我是jQuery的新手,并创建一个网页,教自己如何做一些事情。除其他外,我想从SQL Server数据库读取数据,写入并调用存储过程。jQuery&SQL Server没有使用.NET或PHP

我的测试页的一个功能是在页面的上半部分有一个按钮,您点击&将调用存储过程,并且此页面的底部将在数据写入到数据时读取&刷新表()注意:由于大多数操作都在调用存储过程之后,因此我正考虑在SQL Server表上使用触发器,该表会写入正在刷新的表)。

使用jQuery 1.9.1,jquery-ui 1.10.2和Microsoft SQL Server 2008 & 2012.当前正在使用Express版本的SQL Server进行测试。我受限于我无法使用ASP.NET或PHP来创建Web服务。

我试图找到一个教程,一步一步,或其他参考/指南,以便:

  1. 让我知道如果我想这样做是可能的(规定的范围,我将有),
  2. 并提供一些指导如何去做。

我已经能够创建一个Web服务来检索RSS数据,并找到一些如何做到这一点。 Ajax用于检索数据,但我一直没有找到任何有用的指令,不使用ASP.NET或PHP来这样做。

我很感激任何想法,指令或方向在使用jQuery从&读写到SQL Server数据库。

谢谢!

+0

我能想到的可能是使用的唯一的事情就是Node.js的,但我不知道到底,如果这是不够的。否则,您将需要某种基于服务器的语言(PHP,ASP,Perl/CGI,Java/Servlet或XML-RPC API或类似语言)来实际执行数据库调用。 – Derek 2013-04-09 18:45:58

+0

SNL有一个名为“坏想法牛仔裤”的短剧。我不会推荐这个。你需要一个中间层,甚至是最基本的层。 – granadaCoder 2013-04-09 19:05:43

回答

2

你有点偏离。

您可以使用jQuery Javascript在您的Web服务器上调用服务方法,然后调用存储过程并将结果返回给浏览器。但是,您无法直接使用JavaScript中的SQL。这就是说,微软有一个称为“实体框架”的.net框架组件,它为你做了一些步骤。

基本步骤如下:

(1)在SQL中创建存储过程。我们称之为my_proc。

(2)在Visual Studio中创建一个MVC应用程序。

(2)在您的MVC应用程序中创建一个“实体数据模型”。确保将my_proc导入到模型中。这将创建一个类,该类表示以列作为属性的存储过程调用的结果。

(3)在同一应用程序中,使用“JsonResult”方法创建控制器。它应该是这样的:

public JsonResult CallMyProc() 
{ 
    MyEntities entities = new MyEntities(); 
    var result = entities.my_proc("a", "b", "c"); 
    return result; 
} 

(4)使用jQuery AJAX调用CallMyProc。数据将被序列化为JSON,并且可以反序列化为可以使用的Javascript对象。

应该让你开始那。

2

这是不可能的。 SQL数据库存在于服务器上,并且javascript/jquery代码在客户端(Web浏览器)上运行。早期版本的SQL Server包含直接创建Web服务的能力(HTTP端点),但是已经适当地删除了。

所以,你需要某种类型的服务器端代码来创建一个Web服务,可以通过JavaScript调用,并且可以反过来,让调用数据库。

+1

用于Microsoft的+1删除http sql服务器端点。 (和你提到它!) – granadaCoder 2013-04-09 19:02:29

+0

可以构建在SQL(2008 R2或2012),可以从jQuery调用?我想知道BIDS(或者一旦每个人都知道它是BIDS)是否可以用来开发它。我已经偶然发现了(并且很快关闭)了HTTP端点。 – 2013-04-11 12:26:06

+1

是的,可以使用BIDS(商业智能开发工作室)构建一些东西,但这不是“在SQL Server中”。每个人都告诉你,你需要一个中间层(建造,例如,.NET)和出价,不过是为了建立一个.NET的中间层,专门谈论到SQL Server的工具集。但这与其他人提出的建议没有什么不同。 – 2013-04-11 18:03:34