2011-03-01 104 views
0

我有一張表,我想更新多行。 行的數據是這樣的:更新表訪問

Cars/Audi/Norway/model1/sports.Jpeg 
Cars/Audi/Norway/model1/classic.Jpeg 
Cars/Audi/Norway/model1/v8.Jpeg 
Cars/Audi/Norway/model1/v6.Jpeg 

現在我只想更新MODEL1,讓說,我希望把它模型中的兩個。 所以我怎麼能在一個查詢中做到這一點? 我使用這個查詢:

string path="some string"; 
string name = "some string"; 

("select replace(filepath,'" + path + "','" + name + "') 

所以它看起來像

Cars/Audi/Norway/model10/sports.Jpeg 
    Cars/Audi/Norway/model10/classic.Jpeg 
    Cars/Audi/Norway/model10/v8.Jpeg 
    Cars/Audi/Norway/model10/v6.Jpeg 

什麼想法?

回答

2
UPDATE CarImages 
SET Path=Replace(Path,'/Model1/','/Model10/'); 

假設該表名爲'CarImages',並且您要更新的字段稱爲路徑。

+0

謝謝,我正在嘗試。 – safi 2011-03-01 15:50:29

+0

我試試這個,但ID沒有爲我工作:( – safi 2011-03-02 08:34:35

+0

你使用的是什麼RDBMS? – Duncanmhor 2011-03-02 09:26:55

0

替換隻有在Access本身工作時纔可用,它是一個VBA函數,而不是Jet/ACE。你將需要這樣的東西:

SELECT Left([field1],InStr([field1],"/model1")-1) 
    & "/model2" 
    & Mid([field1],InStr([field1],"/model1")+Len("/model1")) AS result 
FROM Table1; 
+0

所以這將更新或只是選擇記錄? – safi 2011-03-03 10:16:28

+0

您可以將它用於兩者,但Remou發佈的確切示例將僅選擇(注意關鍵字「SELECT」)。 – 2011-03-04 14:14:28