我有一个具有.sdf
扩展名的 SQL Server Compact Edition 4.0 数据库文件。该数据库由图书编目应用程序创建。数据库有许多表,其中有一个名为的表,Book
其中包含数据库中每本书的一行。该表有很多列,其中一个名为的列FrontCover
包含一个字符串值,该值有两个部分:path part
和file name part
一本书封面的图像文件,例如:
Documents and Settings\Boson\My Documents\Books\Covers\0596003978.jpg
在此示例中,路径部分是:
'Documents and Settings\Boson\My Documents\Books\Covers'
而文件部分是:
'0596003978.jpg'
有些书籍不包含任何列值,FrontCover
因为封面不可用。对于此类书籍,列FrontCover
是空的。但是,如果一本书有封面图像文件,则字符串值具有相同的路径部分但不同的文件部分。例如对于另一本书的列FrontCover
有这个值:
'Documents and Settings\Boson\My Documents\Books\Covers\1590596633.jpg'
我们可以看到路径部分与第一个示例相同,即:
'Documents and Settings\Boson\My Documents\Books\Covers'
但文件部分不同:
'1590596633.jpg'
问题:
我想更改整个表Book
,以便为表中的每本书修改列FrontCover
的字符串值,使文件部分保持不变,但路径部分从以下位置更改:
'Documents and Settings\Boson\My Documents\Books\Covers'
至
'Books\AEM database\Covers'
因此,第一个示例中 book列的字符串值FrontCover
将从:
'Documents and Settings\Boson\My Documents\Books\Covers\0596003978.jpg'
至
'Books\AEM database\Covers\0596003978.jpg'
文件部分相同,但路径部分已更改。我想更改整个Book
表,以便列的字符串值的文件部分FrontCover
保持不变,但路径部分按上面指定的方式更改。
拥有.sdf
数据库文件的图书编目应用程序很愚蠢,无法完成这项工作。因此,我安装了一个名为 SQL Compact Query Analyzer (http://sqlcequery.codeplex.com/) 的简单开源 SQL 查看/编辑应用程序。SQL Compact 查询分析器可以打开.sdf
数据库文件并接受 SQL 命令以修改.sdf
数据库文件。
你能帮我用可以完成这项工作的 SQL 命令吗?
非常感谢您的帮助。
此致