Вставьте массив JavaScript в таблицу SQL

0

Извините за неопределенный заголовок, но я не уверен, как это сделать. У меня есть текстовое поле jquery auto complete на странице, которое позволяет пользователям искать и добавлять названия компаний в список с разделителями-запятыми. Я могу использовать javascript для анализа значений вверх и создания массива целых чисел (идентификатор для каждой компании). Когда я сделаю предупреждение javascript, он отобразит идентификатор компании в массиве целых чисел (9,20,19,17). На следующем шаге я НЕ знаю, как это сделать, чтобы получить их в моей хранимой процедуре вставки и пропустить их с помощью scope_identity из первой вставки таблицы.

Ниже приведена моя текущая хранимая процедура. Прямо сейчас у меня только есть идентификатор поставщика жесткого кодирования для второй вставки, но мне нужно добавить строку для каждой выбранной компании в таблицу ассоциаций. Таким образом, в идеале он будет проходить через все четыре выбранные компании и добавить идентификатор компании вместе с линией объема из вставки в таблицу номинаций. Все остальные данные на странице будут добавлены непосредственно из элементов управления 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. Не уверен, что эта логика сделана где-то в SP или в JavaScript. Я предполагаю, что это должно быть в SP, поскольку именно там генерируется идентификатор Scope_Identity.
Показать ещё 1 комментарий

1 ответ

0

Вы можете использовать JQuery и размещать данные javascript через http://api.jquery.com/jQuery.ajax на сервере.

С помощью php вы можете записать свои данные в sql db: http://php.net/manual/en/mysqli.query.php

  • 0
    Спасибо за ответ. Извините, я, возможно, забыл добавить, что это в asp.net (C #), поэтому я надеялся выполнить это на C # или в javascript / jquery, если это вообще возможно. Также БД является MS SQL
  • 0
    С помощью Jquery вы можете отправить через api.jquery.com/jQuery.post на сервер. При этом вам не нужно записывать свой массив в поля ввода. jQuery.post отправляет данные на сервер и действует так, как если бы это были переменные поля формы. Нет необходимости заполнять скрытые поля ввода. Просто используйте вместо этого jQuery.post. На сервере вы можете взять эти переменные и делать все, что нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню