【发布时间】:2015-12-27 12:03:26
【问题描述】:
我有两台电脑。第一个是 MacBook Air,我使用的是 Visual Studio 2015 和 SQL Server 2014 Express。我正在编写一个 WinForms 应用程序,然后在第二台计算机上尝试它,索尼。当我只编写 WinForms 功能并在 Sony 中尝试时,没有问题。 WinForms 应用程序运行良好。
但是,当我编写与数据库相关的 WinForms 应用程序时,该应用程序无法在第二台计算机(索尼)上运行。单击 .exe 文件时没有反应。 SQL Server 2014 Express 也安装在 Sony 上,但 Visual Studio 没有。
我正在使用 Linq to SQL 类来连接.mdf 文件。这是我的简单测试示例:
readolny LtoSQLDataContext _db = new LtoSQLDataContext();
var all = _db.articles; // The table's name is article.
Radlabel1.Text = "<html>There are <b>" + all.Count() + "</b> articles in our database.";
这是打印屏幕图像:
此代码在第二台计算机上不起作用。相反,单击 .exe 文件时 Winforms 应用程序未打开。问题出在哪里?
【问题讨论】:
-
您是否收到错误消息?
-
没有。最大的问题就在这里。我双击 *.exe 文件。等待光标显示几秒钟后,winforms 应用程序未打开且未显示错误。
-
不幸的是,任何人都不可能在不查看代码的情况下告诉您出了什么问题。您是否在任何地方都有可能吞下异常的空捕获块?
-
您可以将日志记录添加到文件中以查看发生了什么,或者您可以尝试在代码中的各个点添加一些消息框的经典方法,例如“到 LoadData功能”等,以帮助查明应用程序出现故障的位置。如果您确定它是 SQL,那么一些可能的问题是:数据库实例具有不同的名称、数据库具有不同的名称、用户没有数据库的权限等。
-
另外,尝试将您对 datacontext 的调用包装在 try-catch 循环中,然后将 exception.ToString() 输出到消息框。这将告诉您这是否是数据库问题以及可能是什么数据库问题。
标签: c# .net sql-server winforms visual-studio-2015