【问题标题】:1 app (on a fileserver) running differently on 2 pcs1 个应用程序(在文件服务器上)在 2 台电脑上以不同方式运行
【发布时间】: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


【解决方案1】:

我发现了错误,我真的很生气。

当我用我的计算机打开 access 数据库(在文件服务器上)时,日期都是 ddmmyyyy 格式,当我在 access 2003 中从我老板的计算机上打开完全相同的数据库时,它显示mmddyyyy 格式的日期 该列表在他的计算机上显示为空白,因为我查询的日期格式错误

他将他的地区设置为英语(美国),默认情况下将月份放在首位 我的设置为英语(加拿大)

【讨论】:

    猜你喜欢
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    相关资源
    最近更新 更多