如何修复此“未找到路径”错误?

时间:2009-03-12 10:52:41

标签: windows-mobile

如何解决此移动应用程序开发问题?

连接数据库时

dataSource = \\..datafile.sdf

我收到此错误

  

“未找到路径”

我正在使用serviceCE dll进行数据访问。

4 个答案:

答案 0 :(得分:3)

Windows CE没有相对路径的概念,所以即使你“修复”了无效的相对路径,它也行不通。您必须使用绝对路径。

答案 1 :(得分:3)

您输入的路径是相对路径。 Windows CE / Mobile不支持相对路径。

由于Windows Mobile设备上没有当前目录的概念,如何找到只知道相对路径的资源? .Net程序始终可以访问组成它的模块(通常.Net组件由打包在DLL或EXE文件中的一个模块组成)。以下行将返回当前正在执行的程序集的绝对路径。

string modulePath = this.GetType()。Assembly.GetModules()[0] .FullyQualifiedName;

使用更多代码,您可以获得运行程序的目录

Path.GetDirectoryName(this.GetType()。Assembly.GetModules()[0] .FullyQualifiedName)

使用该信息,您可以为资源构建正确的路径字符串。

注意:如果您正在使用本机APIS进行开发,请使用以下命令: GetModuleFileName(GetModuleHandle(NULL),pszFullPath,MAX_PATH);

答案 2 :(得分:0)

我想在\\和..

之间缺少一些东西

答案 3 :(得分:0)

“\ ..”没有意义。它表示您的数据比根文件夹高一级,但不存在。此外,ctacke在评论中告诉我CE无论如何都不支持相对路径。

如果您的操作系统支持相对路径 ,我的其余部分仍然适用。我将把它留待将来参考(可能,因为很多人似乎没有先阅读整篇文章而进行投票),但声誉有所下降。 : - )

如果数据文件比应用程序所在的文件夹高一级,则正确的路径为“.. \ datafile.sdf”;在某些编程语言中你必须逃避反斜杠,所以它会变成'.. \ datafile.sdf'

您的数据实际位于何处,您的应用在哪里?如果应用程序位于\ yourapp \ folder \ bin中,并且您的数据位于\ yourapp \ folder \ data中,则从应用程序到数据的路径将为“.. \ data \”。如果数据文件位于\ yourapp \文件夹中,则路径为“.. \”。同样,根据您使用的语言,您可能需要将反斜杠加倍才能使其反转。