2013-10-08 45 views
0

對不起,模糊的標題,但我不知道如何去做這件事。我在頁面上有一個jQuery自動完成文本框,允許用戶搜索公司名稱並將其添加到以逗號分隔的列表中。我可以使用JavaScript來解析值並創建一個整數數組(每個公司的ID)。 當我做一個JavaScript警報時,它會顯示公司ID在一個整數數組(9,20,19,17)。下一步,我不知道如何去了解如何將這些插入到我的插入存儲過程中,並使用第一個表插入的scope_identity循環它們。插入一個JavaScript數組到一個SQL表格

下面是我目前的存儲過程。現在我只有第二次插入的硬編碼供應商ID,但我需要能夠爲每個選定的公司添加一行到關聯表。因此,理想情況下,它將遍歷所有四家選定的公司,並將公司ID與插入提名錶的範圍標識一起添加。頁面上的所有其他數據將直接從asp.net控件添加,我不知道如何獲得JavaScript數組信息到SP ...任何指導或方向將不勝感激..

CREATE PROCEDURE dbo.NewNomination 
    @ProviderFirstName VARCHAR (30)=NULL, 
    @ProviderLastName VARCHAR (30)=NULL, 
    @providerCompany VARCHAR (30)=NULL, 
    @providerTitle VARCHAR (30)=NULL, 
    @providerEmail VARCHAR (30)=NULL, 
    @providerPhone VARCHAR (30)=NULL, 
    @UseMyName BIT, 
    @MakeCall BIT, 
    @new_identity INT = NULL OUTPUT 
AS 
BEGIN 
    SET NOCOUNT ON; 
    INSERT INTO dbo.nomination 
      ( 
      ProviderFirstName , 
      ProviderLastName , 
      providerCompany  , 
      providerTitle  , 
      providerEmail  , 
      providerPhone  , 
      UseMyName   , 
      MakeCall    

     ) 
    VALUES 
      ( 
      @ProviderFirstName , 
      @ProviderLastName , 
      @ProviderCompany , 
      @providerTitle  , 
      @providerEmail  , 
      @providerPhone  , 
      @UseMyName   , 
      @MakeCall   

     ) 

    SET @new_identity = SCOPE_IDENTITY(); 


    INSERT INTO dbo.NominationSupplier 
      ( 
      NominationID  , 
      SupplierID   , 
      fname    , 
      lname    , 
      email  


     ) 
    VALUES 
      ( 
      @new_identity  , 
      28  , 
      @ProviderFirstName , 
      @ProviderLastName , 
      @providerEmail 

     ) 


    COMMIT TRAN 




END 
GO 

`

+0

使用寫在.NET,PHP的ColdFusion或類似的東西在服務器端應用程序。將列表傳遞給該應用程序,並用它來與您的數據庫進行通信。 –

+0

好的..我想我還有點進一步...只是希望這是一條正確的道路。我已經將jquery數組值傳遞給頁面上的隱藏asp.net字段,所以我可以通過存儲過程將它插入到我的數據庫中。所以現在我只需要找出存儲過程以及如何循環訪問該數組的值(例如2,6,8,10),並將它們作爲單獨的插入與Scope_Identity ID一起插入到關聯表中。不知道該邏輯是在SP或JavaScript中的某處完成的。我假設它必須在SP中,因爲這是Scope_Identity ID生成的地方。 – bmcnally

+0

好的......可能會走錯路,我發現通過jquery,我只是添加了單獨的數組值到隱藏的輸入,顯然不能將它們放在asp.net隱藏的控件中。所以我仍然不能通過存儲過程將它們拉入。不知道下一步該去哪裏。我還沒有發現任何關於如何使用ajax的明確文檔。似乎我已經在使用存儲過程輸入數據並獲得範圍了,所以我不清楚ajax是從哪裏進來的。我會以多種方式將數據輸入到SQL中嗎? – bmcnally

回答

0

您可以使用JQuery並將您的javascript數據通過http://api.jquery.com/jQuery.ajax發佈到服務器。

用PHP您可以將數據寫入到SQL數據庫: http://php.net/manual/en/mysqli.query.php

+0

感謝您的回覆。對不起,我可能忘了補充一點,這是在asp.net(C#)中,所以我希望能夠在C#代碼後面或javascript/jquery中完成此操作(如果可能的話)。此外,數據庫是MS SQL – bmcnally

+0

使用Jquery,你可以通過http://api.jquery.com/jQuery.post/發送到服務器。由此你不需要在輸入字段中編寫你的數組。 jQuery.post將數據發送到服務器,就好像它是表單域變量一樣。沒有必要填寫任何隱藏的輸入字段。只需使用jQuery.post。 在服務器上,您可以使用這些變量並執行所需的任何操作。 – kitingChris