2017-11-24 11 views
0

C#Winformsでは二重スラッシュを一重スラッシュに置き換える方法を尋ねます。現在vb.net 2010の究極のSQL Server 2008を使用しています。ダブルスラッシュをシングルスラッシュに置き換えます。C#winform

SQL ServerからCrystal Reportのパスを取得していましたが、に\が入りました。

私は

string.replace(@"\\\", @"\\") 

を使用してみましたが、それはまだ私のパスに\\\を返します。

私のコードは、それがanotheを持つ任意の文字列を置換するために十分に簡単です

\\careersql\\MIS\\codes\\Report\\Summary_of_applicant.rpt 
+0

\ "\ careersql \ MISコード\レポート\ Summary_of_applicant.rpt \" \ \ careersql \\ MIS \\コード\\レポート\\ Summary_of_applicant.rpt "?デバッガでは? C#コード 'var s =" \\ A \\ B ";'は文字列の前後にストレート引用符 '' 'を表示していますか?デバッガでこれを見た場合、C#と同じように '' \\ A \\ B "'と表示されます。デバッガで小さな虫めがねのアイコンをクリックして文字列の隣にText Visualizerを選択すると、リテラルではなく実際の内容が表示されます –

+0

Hey @DourHighArch私はデバッガでそれを見ていますあなたの提案をお試しくださいありがとうございます –

+0

@DourHighArchしかし、なぜ私はエラーロードレポートが失敗するのですか?同じパスを直接コード化しても動作しますが、データベースから取得した場合はそれはありませんか? –

答えて

0

おはようございますすべてのご意見ありがとうございました。 私の質問への答えは間違ったエンコードパスとデータベースのコードです。

間違ったデータ=は、@「

正しいデータ= \サーバの\クリスタル\コードは、あなたが見ているレポート\ Summary_of_applicant.rpt

0

SQL Serverに保存

string path = Getvalue.Path.Replace(@"\\", @"\"); 
myReportDocument.Load("@"+path); 

パス

\\server\crystal\codes\Report\Summary_of_applicant.rpt 

返されるデータは

です助けてくださいrであるが、\はエスケープされなければならない特殊な文字である。

string path = Getvalue.Path.Replace("\\\\","\\"); 

私はPath.Combineを使用してパスを作成します。

string reportFile = "Summary_of_applicant.rpt"; // or more complex path 
string path = Path.Combine(GetValue.Path,reportFile); 
+0

おはようございます@ obfuscateはreportfile = Summary_of_applicant.rptですか? –

+0

私はあなたの提案を試みたが、それでも "\\ careersql \\ MIS \\コード\\レポート\\概要_アプリケーション_rpt" –

関連する問題