'Подзапрос вернул более 1 значения. Это не допускается " ошибка
В настоящее время я получаю этот код ошибки при попытке выполнить запрос вставки в C#
System.Data.SqlClient.SqlException: 'подзапрос вернул более 1 значения. Это недопустимо, когда подзапрос следует за=, !=, <, <= , >, >= или когда подзапрос используется в качестве выражения.
Заявление было прекращено".
Я пытаюсь вставить введенные пользователем значения в таблицу, затем вернуть идентификатор из первичного ключа этой таблицы, затем вставить значения в другую таблицу и вставить возвращенный идентификатор во внешний ключ в эту таблицу.
Вот мой код C# с момента нажатия кнопки отправки значений:
protected void btnSubmit_Click(object sender, EventArgs e) { string query = "insert into Stock_Take(Username, StockDate) OUTPUT INSERTED.StockTakeIDNew values(@Username, GetDate()); Insert into Stock_Take_Item(ItemID, BarQuantity, StorageQuantity, StockTakeIDNew) values(@ID, @BAR, @STORAGE, (Select StockTakeIDNew from Stock_Take))"; SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(query, con); con.Open(); foreach (GridViewRow row in gvStockTake.Rows) { Label ID = row.FindControl("itemId") as Label; TextBox BAR = row.FindControl("txtBar") as TextBox; TextBox STORAGE = row.FindControl("txtStorage") as TextBox; cmd.Parameters.Clear(); cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = ID.Text; cmd.Parameters.Add("@BAR", SqlDbType.Int).Value = BAR.Text; cmd.Parameters.Add("@STORAGE", SqlDbType.Int).Value = STORAGE.Text; } cmd.Parameters.AddWithValue("@Username", Session["username"]); cmd.ExecuteNonQuery(); //query execution con.Close(); Response.Write("Successfully inserted stock take items."); }
Что я уже пробовал:
Я думаю, что, возможно, мне следует разделить запрос на две части и иметь query1 для второй половины инструкции SQL. Поэтому сначала выполните первую половину запроса, а затем вторую половину, как только я добавлю параметры в раздел "foreach"?
Я все еще новичок в C# и SQL, так что любые рекомендации будут полностью оценены!!