2009-08-14 2 views
0

テーブルにファイルへのフルパスを持つMS Accessデータベースがあります。すべてのファイルを別の場所に移動しています。私はデータベースを更新する必要があります。私はこれを行うためにC#を使用しています。アクセスで保存されたファイルパスを検索すると、 'K:\ PDFFiles \ myPDF.pdf'の代わりに 'K:\ PDFFiles \ myPDF.pdf'が検索され、一致するものは見つかりません。だから私の質問は、エスケープされたファイル名の代わりに正しいファイル名のアクセスデータベースをどのようにクエリするのですか?あなたが試すことができMS Accessデータベースのクエリファイルのパス条件をC#

おかげ

+0

fiファイル拡張子はpdfではなくmdfですか? – TGnat

+0

'K:\ PDFFiles \ myPDF.pdf'の代わりに 'K:\ PDFFiles \ myPDF.pdf' <---それらは私と同じように見えます。どうか明らかにしてください。 – HansUp

+0

これらのパスは、通常のテキストフィールドまたはOLEリンクフィールドに保存されていますか?前者の場合は、UPDATEクエリを実行してオリジナルを解析し、新しいものに変換します。後者の方がはるかに大きな問題があります.SUBSTを使って古いドライブ文字を偽造し、JUNCTIONを使ってUNIXのシンボリックリンクに似た仮想フォルダを作成したい場合があります。これにより、新しい場所が古い場所のように見えます。 –

答えて

0

@"K:\PDFFiles\myPDF.pdf" 

または

"K:\\PDFFiles\\myPDF.pdf" 

あなたのselect文は、この(パラメータの周りの単一引用符に注意してください)のようなものを、パスを引用してい

string sql = string.Format("select * from MyTable where MyPathField = '{0}'", "K:\\PDFFiles\\myPDF.pdf"); 
+0

私はクエリに送るパラメータに "K:\\ PDFFiles \\ myPDF.pdf"を入れて試しましたが、一致するものは見つかりませんでした。 – Scott

+0

hmm、多分私の編集が助けます... –

関連する問題