2011-01-20 135 views
0

我有一個.cs文件,其中我正在查看數據庫和特定ID的網站。 如果網站上的ID不在db(還),它會將其保存到數據庫中。 就這麼簡單。sql刪除語句

但是,如果ID在數據庫中而不在頁面上呢?如何檢查。以及如何刪除它,如果它不在網站上了。

我希望我是很清晰。

感謝

塞巴斯蒂安

+7

你能解釋多一點嗎?發佈一些你的代碼的更多信息?你目前的SQL查詢是什麼?他們是有限的,所以價值觀不會出現在網頁上? – WestDiscGolf 2011-01-20 14:23:12

回答

1

如果我理解正確,你需要做一個預檢查。因此,假設您從FB牆上獲得了牆的「主」ID,並將牆上的所有帖子與您數據庫中的該ID相關聯,那麼您首先獲取牆的所有帖子ID並檢查數據庫。如果它們存在,並且您的數據庫中有一個不再位於牆上,請將其刪除。然後繼續定期插入。

說,所有的數據看起來是這樣的:

FBWall { 
    WallId 1, 
    Posts = Posts[4] { 
     Post { PostId = 1 }, 
     Post { PostId = 2 }, 
     Post { PostId = 4 }, 
     Post { PostId = 5 } 
    } 
} 

DBWall { 
    WallId = 1, 
    Posts = Posts[4] { 
     Post { PostId = 1 }, 
     Post { PostId = 2 }, 
     Post { PostId = 3 }, 
     Post { PostId = 4 } 
    } 
} 

FBWall您有4個職位與IDS 1,2,4,5;在DBWall你有4個ID爲1,2,3,4的帖子。不同之處在於從FBWall開始的3後消失,因此您需要從DBWall中刪除它。此外,在FBWall中,您現在有5個不在DBWall中的帖子,因此您需要插入它。

現在我想到了,操作的順序是不相關的。您可以先將新帖子插入數據庫中,然後刪除過時的帖子,反之亦然。最終結果是一樣的。

希望這可以幫助你一點。

1

SQl Server 2008有一個MERGE語句,我建議你看看它,你可以在一個語句中刪除不良記錄並更新現有的並插入新的語句。它太酷了。在聯機叢書中掠奪它'