p.FlagaWaznosci と p.Notatka の 2 つのフィールドを更新したい
私の選択は次のようになります:
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
グリッドビューに表示する必要がある正しいデータを取得するための外部結合があります。そして、値 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"] }
しかし何もありません。それでもこのエラー。