我有一个sql数据库,其中我是一些文件的字符串文件路径和文件名。我使用Visual Studio 2008作为IDE和SQL Server 2005进行开发。
如果我尝试执行SQL查询以获取文件路径,则返回正确的结果。但是当我在c#中从Windows应用程序执行SQL查询时,它返回的文件路径中所有\
都更改为//
。
以下是我从SQL Server Management Studio执行的SQL查询:
select FilePath FROM dbo.[tbl_name] WHERE SerialNo = 2;
导致FilePath
为C:\Program Files\Test\Mydoc.pdf
但是,当我尝试通过C#windows窗体代码时,如下所述。我的FilePath
:C://Program Files//Test//Mydoc.pdf
try
{
using (connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT FilePath FROM dbo.[tbl_name] WHERE SerialNo LIKE @Sno", connection))
{
command.Parameters.Add(new SqlParameter("Sno", Serial));
FiletoOpen = command.ExecuteScalar().ToString();
Process.Start(FiletoOpen );
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Exception has occured!", MessageBoxButtons.OK);
}
finally
{
connection.Close ();
}
可能是什么问题?
答案 0 :(得分:1)
我猜你在调试器中看到了这条路径。 调试器只是逃避路径而没有别的。如果你把它写在某个地方,比如控制台,你将获得原始路径(带有单个反斜杠)。