0

相対ファイルの作成方法についてstackoverflowを検索し、さまざまなことを試しましたが、うまくいきませんでした。皆さんが私を助けてくれるかどうかを知りたいと思っていました.

これが私のweb.configファイルの接続文字列です:

 <add name="2007 Database  05-12-2013(Esfahanian's conflicted copy 2013-06-24)
  ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data 
  Source=" providerName="System.Data.OleDb"/>

aspxここで私のファイルの相対パス:

<script runat="server">
    string connectionString = ConfigurationManager
    .ConnectionStrings["2007 Database 
    05-12-2013(Esfahanian's conflicted copy 2013-06-24) ConnectionString"]
   .ConnectionString + Server.MapPath("..\..\Anderson\2007 
    Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb");
</script>

そして、私はこのエラーを受け取ります:CS1009: Unrecognized escape sequence

それで、私は正確に何を間違っていますか

4

2 に答える 2

1

パスの「\」文字をエスケープしていないため、MapPath()メソッドでエラーが発生しています。

これを変える:

Server.MapPath("..\..\Anderson\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

これに:

Server.MapPath(@"..\..\Anderson\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

またはこれ:

Server.MapPath("..\\..\\Anderson\\2007 Database 05-12-2011 (Esfahanian's conflicted copy 2013-06-24).mdb"

于 2013-07-18T16:40:48.750 に答える
0

パス文字列で \ を使用していますが、これはリテラルの記号です。したがって、\ に続くすべての文字は、\ のようなリテラルとして解釈されます。は有効な文字ではありません。あなたは実際にはリテラルが必要です \ シーケンスが \\ また、文字列の前の @ は、リテラルが必要ないことを示しています。

したがって、mappath(" は mappath(@" にする必要があります。または、すべての \ を \\ にする必要があります。

于 2013-07-18T16:26:38.787 に答える