In meiner Visual Basic-ASP.NET-Webseite Codebehind Visual Studio zurückgeben, rufe ich eine Add-Routine in einem SQL-Tableadapter wie folgt auf.ASP.NET TableAdapter-Einfügung, die nicht den richtigen Identitätswert
NewLabID = LabItem.AddLaborItem(ThisWONum, TechID, DateTime.Now, DateTime.Now, "Working", "");
Der Datensatz hinzugefügt wird, aber keine ‚NewLabID‘ Rückkehr 1 jedes Mal, nicht die tatsächliche neue Labid (Labid als int/Identität definiert ist). Der automatisch generierte Code einfügen Befehl
INSERT INTO [LaborDetail] ([WONum], [TechID], [StartDate], [StopDate], [OtherType], [OtherDesc])
VALUES (@WONum, @TechID, @StartDate, @StopDate, @OtherType, @OtherDesc);
SELECT LabID FROM LaborDetail WHERE (LabID = SCOPE_IDENTITY())
und der automatisch generierten Code, der nennt dies:
returnValue = command.ExecuteNonQuery();
mit dem Debugger durch diesen etwas treten, return ist immer 1. Soll nicht der obige Befehl gibt die neue Identitätsfeldwert?
Danke - aber wie bekomme ich asp.net, um ExecuteScalar anstelle von ExecuteNonQuery zu generieren? Der automatisch generierte Befehl ist eindeutig darauf ausgelegt, die neue ID zurückzugeben. – dsteele
OK, ich habe es - ich musste die ExecuteMode-Eigenschaft der Abfrage im Tabellenadapter ändern. – dsteele
Sie haben mich dazu geschlagen. Schön, dass es für dich geklappt hat. – Tchami