1

私は2つのテーブルCustomerInfoとOffersを結合した結果のグリッドを作成しますOffers.OfferDescriptionの列をドロップダウンリストとして作成し、編集モードになるとテキストボックスになり、更新するとそのエラーが発生します

マルチパート識別子「Offers.OfferDescription」をバインドできませんでした

これは選択するための私のコードです

SELECT CustomerInfo.NationalID, CustomerInfo.FNama, CustomerInfo.LName,      
CustomerInfo.MobileNumber, Offers.OfferDescription 
FROM CustomerInfo INNER JOIN Offers ON CustomerInfo.OfferID = Offers.OfferID 
WHERE (CustomerInfo.UserName = @UserName)

これは更新用の私のコードです

UPDATE      CustomerInfo
SET         PhoneNumber = @PhoneNumber, Offers.OfferDescription = @OfferDescription, FNama = @FNama, LName = @LName, OfferID = @OfferID
FROM        CustomerInfo AS CustomerInfo_1 INNER JOIN Offers ON CustomerInfo_1.OfferID = Offers.OfferID CROSS JOIN CustomerInfo
4

2 に答える 2

0

一度に実行できるのは、一度に1つのテーブルに対してのみUPDATEまたはINSERTを実行できます(内部結合を使用して複数のテーブルを更新します)。更新クエリで、2つのテーブルを更新しようとしています。次のような2つのクエリを使用して更新してみてください。

UPDATE      CustomerInfo
SET         PhoneNumber = @PhoneNumber,  FNama = @FNama, LName = @LName, OfferID = @OfferID
FROM        CustomerInfo, Offers
WHERE       CustomerInfo.OfferID = Offers.OfferID

UPDATE      Offers
SET         OfferDescription = @OfferDescription
FROM        CustomerInfo, Offers
WHERE       CustomerInfo.OfferID = Offers.OfferID

(集合演算で使用する列名を確認してください)

于 2012-12-28T11:13:01.007 に答える
0

CustomerInfo の更新で Offers.OfferDescription を更新しようとしています ....

UPDATE      CustomerInfo

SET PhoneNumber = @PhoneNumber,Offers.OfferDescription =

表(a)の更新で外部表(b)の列を更新することはできません。

于 2012-12-28T10:59:25.393 に答える