2013-04-09 63 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