【发布时间】:2013-10-08 23:31:58
【问题描述】:
抱歉标题含糊,但我完全不知道该怎么做。我在页面上有一个 jquery 自动完成文本框,允许用户搜索公司名称并将其添加到逗号分隔列表中。我可以使用 javascript 来解析这些值并创建一个整数数组(每个公司的 ID)。 当我执行 javascript 警报时,它将以整数数组 (9,20,19,17) 显示公司 ID。下一步我不知道如何去做如何将它们放入我的插入存储过程并使用第一个表插入中的 scope_identity 循环它们。
以下是我当前的存储过程。现在我只有一个硬编码的供应商 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
`
【问题讨论】:
-
使用用 .net、php、coldfusion 或类似的东西编写的服务器端应用程序。将列表传递给该应用程序并使用它与您的数据库通信。
-
好的..我想我走得更远了..希望这是正确的道路。我已将 jquery 数组值传递给页面上的隐藏 asp.net 字段,因此我可以将其绑定到通过存储过程将其插入到我的数据库中。所以现在我只需要弄清楚存储过程以及如何遍历该数组的值(例如 2、6、8、10)并将它们作为单独的插入与 Scope_Identity ID 一起插入到关联表中。不确定该逻辑是在 SP 中的某处还是在 javascript 中完成的。我假设它必须在 SP 中,因为这是生成 Scope_Identity ID 的地方。
-
OK...可能走错路了,我发现通过 jquery 我只是将单独的数组值添加到隐藏的输入中,不能将它们隐藏在 asp.net 中显然控制..所以我仍然无法通过存储的过程将它们拉入。不知道下一步该去哪里。我还没有找到任何关于如何为此使用 ajax 的明确文档。看来我已经在使用存储过程来输入数据并获取 scopeidentity,所以我不清楚 ajax 的来源。我会以多种方式将数据输入 SQL 吗?
标签: javascript jquery asp.net sql