我想要更新 2 个字段:p.FlagaWaznosci 和 p.Notatka
我的选择看起来像:
Select DISTINCT p.id,p.Model_Number,p.Product_Name,p.Website_Link,p.Entry_date,p.LastUpdate_date,p.PrzydzialRozmiarow_ID,p.FlagaWaznosci,p.Notatka,pr.NazwaRozmiarowki,wd.LINK_StockX
from Products p with(nolock)
left outer join Widok_Model_Sklep_Stockx_Linki wd with(nolock) on wd.Product_ID = p.id
left outer join PrzydzialRozmiarow pr with(nolock) on pr.id = p.PrzydzialRozmiarow_ID
inner join Shops s with(nolock) on s.ID = p.Shop_ID
只有外连接来获取我需要在gridview中显示的正确数据。现在,当值 p.FlagaWaznosci 或 p.Notatka 更改时,我想将更新保存在我的数据库中。
我尝试使用
//loads dataand fill to gridview
DataTable WszystkieProduktyDlaDanegoSklepu;
SqlDataAdapter sda555123 = new SqlDataAdapter("here is my select", conn123);
sda555123.Fill(WszystkieProduktyDlaDanegoSklepu);
//later update table Prooducts and save changed on p.Notatka and p.FlagaWaznosci
cmdbl = new SqlCommandBuilder(sda555123);
cmdbl.ConflictOption = ConflictOption.OverwriteChanges;
sda555123.Update(WszystkieProduktyDlaDanegoSklepu);
但是这样我有错误
于是搜了很多,发现:我得自己写CommandUpdate。
所以......sda555123.UpdateCommand
我不知道如何在更新命令中为它编写自己的更新。
SQL Server 中的更新应如下所示:
Update Products
set FlagaWaznosci = @Flagawaznosci from my sda555123,
Notatka = @Notatka from my sda555123
where id = @ p.ID from my sda555123
我的命令更新应该看起来像这里吗?
编辑 1:
我尝试添加: WszystkieProduktyDlaDanegoSklepu.PrimaryKey = new DataColumn[] { WszystkieProduktyDlaDanegoSklepu.Columns["id"] }
但没有。还是这个错误。