【发布时间】:2013-05-30 23:41:04
【问题描述】:
我开发了一个 C# 应用程序,它简单地从数据库“FinishedOrders”中的表中读取数据并将结果放入列表视图中。
基本上问题是:
当我在我的笔记本电脑(用于开发它的计算机)上从文件服务器上运行应用程序时,它可以正常工作并用 Finished Orders 表中的值填充列表
当我在老板的计算机上从完全相同的路径运行完全相同的应用程序时,它会弹出一个空列表视图,就好像它捕获了异常或其他东西一样。
我考虑过的事情:
- 将整个加载语句包装在 try catch 块中并让它在消息框中吐出错误消息不会在任何一台计算机上显示错误。
- 我正在使用堆栈面板列表,每个堆栈面板中的第一项是图像控件,我将 image.source 设置为:
Type.Source = new BitmapImage(new Uri("/Control;component/images/42EF.png", UriKind.Relative));现在我不完全确定这是不是导致问题,但如果它无法加载 uri,它不会在 try catch 块中抛出错误消息,而不是不显示? - 我已将整个解决方案而不只是应用程序复制粘贴到文件服务器上,并尝试从调试文件夹(在两台计算机上)运行它 -> 相同的问题
- 我尝试将连接字符串更改为映射驱动器“T:....”和“\Fileserver...”都可以在我的计算机上运行。数据库也在文件服务器上。
- 两台电脑都是windows 7(虽然我觉得我老板有高级版,我有终极版)
- 两台计算机都安装了访问权限,并在几乎完全相同的上下文中使用 ole.db 安装了其他经过测试且正在运行的 C# 应用程序。
这是我的代码:http://pastebin.com/hm0BByDf
【问题讨论】:
-
您将其包装在
try...catch中——您是否看到任何异常? -
没什么 =/ 。 . . . .
-
在你的电脑和你老板的电脑上使用 Caspol 来检查权限和政策
-
你可以尝试一些快速而肮脏的调试来让你开始:在
while (iRead.Read()) {之后添加一个MessageBox作为第一条指令(所以在StackPanel s = new StackPanel();之前你可以检查它是否返回一个记录。然后您就知道它至少达到了这一点并建议建立列表有问题。如果您没有看到这表明数据库或记录问题。 -
如果此代码将被共享,我会重新考虑您的变量名称...
标签: c# fileserver