请问各位:如何在dbd中批量修改表中的部分数据(要简单,快捷)(100分)

  • 主题发起人 主题发起人 coolwindfly
  • 开始时间 开始时间
C

coolwindfly

Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友:
    我有一张.dbf的表(记录很多)
如下
图片名称    硬盘位置 
a.jpg c:/pic/university/a.jpg
b.jpg c:/pic/university/b.jpg
c.jpg c:/pic/university/c.jpg
d.jpg c:/pic/university/d.jpg
e.jpg c:/pic/university/e.jpg
----------------
很多
现在,由于更改了路径,要批量的将表改为如下
图片名称    硬盘位置 
a.jpg f:/pic1/university/a.jpg
b.jpg f:/pic1/university/b.jpg
c.jpg f:/pic1/university/c.jpg
d.jpg f:/pic1/university/d.jpg
e.jpg f:/pic1/university/e.jpg
由于数据量巨大,不能手工完成
请各位朋友相助,不胜感激
另外,这种做法是不是可以只用sql来完成呢,最好能在dbd中解决就好了,
不要动用其它。
当然,小弟在将dbf的表转成vfp中的dbf的表后,利用其来做,再还原成dbase表,可是
太麻繁了,一直要转来转去,再加上我有很我这样的表,所以,望各位大侠指点迷津,
不胜感激,谢了。


 
replace all [field name] with 'f:/pic1/university'+[jpg name] for [field name] $
'c:/pic/university'
 
在database desktop中建sql文件,执行

update "c:/temp/temp.dbf" set path="f:/pic1/university/"+name
where path like "c:/pic/university/"+"%"

请相应修改,%为通配符
 
首先,我要谢谢各位的帮助,
再次,我还要补充一点
在各位的方法中,无不利用了
将硬盘位置和图片名称来相加
可是,由于我的疏忽,我没有将
整个表列出,其实,有的图片名称
是用自己的名称来表示的

name    locate
……………………………………………………
moon c:/pic/university/a1.jpg
moon1 c:/pic/university/a2.jpg
moon3 c:/pic/university/a3.jpg
    …  …  …等等 
    … … … …
 … … … …
………………………………………………………………
故不可以两字段简单相加
所以,劳驾各位,是不是能将locate中的c:/pic
批量改为f:/pic1/university/a2
谢甚.
 
update tabel set path='f:/pic1/university'+substring(trim(path),19,len(trim(path))-19)
where path='c:/pic/university'+substring(trim(path),19,len(trim(path))-19)
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部