Member 12790908 Ответов: 1

Как я могу присоединиться к внутреннему оператору join в запросе, который используется для оператора update?


Мне нужно объединить результаты двух таблиц и обновить атрибуты двух таблиц с помощью оператора Inner join

Что я уже пробовал:

команду cmd = новый объект oledbcommand("InvoiceItems обновление описание ='" + txtProductName + "',количество = '" + txtQty.Текст+"', UOM = '" + txtUOM.Текст + "', UnitPrice ='" + txtUnitPrice.Текст+"', GrossAmount ='" + txtGrossAmount.Текст+"', VAT = '" + txtVAT.Текст+"', VatAmount ='" + txtVatAmount.Text + "', Total ='" + txtTotal.Текст + "', внутреннее соединение InvoiceItems,НАЛОГОВАЯНАКЛАДНАЯ на InvoiceItems.InvoiceNumber=НАЛОГОВАЯНАКЛАДНАЯ.InvoiceNumber, где InvoiceItems.InvoiceNumber= " +txtInvoice.Текст.Отделка ()+ ""коробки);

1 Ответов

Рейтинг:
2

Suvendu Shekhar Giri

Вы не можете обновить две таблицы с помощью одной UPDATE утверждение, если вы пытаетесь сделать что-то подобное. Но вы можете использовать JOINS для получения данных для обновления в одну таблицу и может быть использован для фитера и т. д.

Внесение исправлений в ваш запрос должно выглядеть следующим образом-

cmd = new OleDbCommand("UPDATE Inv set Description ='" + txtProductName + "',Quantity = '" + txtQty.Text + "',UOM = '" + txtUOM.Text + "',UnitPrice ='" + txtUnitPrice.Text + "',GrossAmount ='" + txtGrossAmount.Text + "',VAT = '" + txtVAT.Text + "',VatAmount ='" + txtVatAmount.Text + "',Total ='" + txtTotal.Text + "' FROM InvoiceItems Inv INNER JOIN TAXINVOICE TInv on Inv.InvoiceNumber=TInv.InvoiceNumber where Inv.InvoiceNumber=" +txtInvoice.Text.Trim(),conn);


Примечание: как я уже сказал, все столбцы в вашем UPDATE заявление те, которые вы хотите обновить, должны быть из таблицы, упомянутой в UPDATE table_name только (то есть InvoiceItems в вашем случае).

Пожалуйста, дайте мне знать, если вы пытаетесь достичь чего-то еще.
:)