2011-03-01 58 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