1

MS Access データベースに単純なテーブルがあります。

-------------------
| Programs        |
|-----------------|
| Id (PrimaryKey) |
| Name            |
| Path            |
| Notes           |
-------------------

次に、Visual Studio ウィザードを使用して、対応するDataTableとを生成しTableAdapterます。

生成された Select ステートメントは、期待どおりに見えます。

SELECT Id, Name, Path, Notes
FROM Programs

しかし、生成された Update ステートメントは非常に複雑です。

UPDATE Programs
SET          Id = ?, Name = ?, Path = ?, Notes = ?
WHERE  (Id = ?) AND (? = 1) AND (Name IS NULL) AND (? = 1) AND (Path IS NULL) OR
                  (Id = ?) AND (? = 1) AND (Name = ?) AND (Path IS NULL) OR
                  (Id = ?) AND (? = 1) AND (Name IS NULL) AND (Path = ?) OR
                  (Id = ?) AND (Name = ?) AND (Path = ?)

なぜそんなに複雑に生成されるのですか?次のように、もっと単純ではないのはなぜですか。

UPDATE Programs
SET Id = ?, Name = ?, Path = ?, Notes = ?
WHERE  (Id = ?)
4

1 に答える 1