0

我有一个 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;

结果FilePathC:\Program Files\Test\Mydoc.pdf

但是当我尝试通过 C# windows 窗体代码时,如下所述。我得到了一个错误的值FilePathC://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 ();
}

可能是什么问题?

4

1 回答 1

1

我猜你在调试器中看到了这条路径。调试器只是逃避路径,没有别的。如果你把它写在某个地方,比如控制台,你会得到原始路径(带有单个反斜杠)。

于 2013-09-06T05:51:56.980 回答