我是一名网络开发人员,几乎没有寡妇表单开发经验,我想在开始之前找到关于这个主题的非常好的信息。
我计划构建一个 Windows 窗体应用程序,该应用程序将通过 cd 交付给用户。cd 将安装应用程序,我假设数据库到客户端机器。客户端机器并不总是可以访问互联网。我有哪些选择?
可以用什么数据库,可以用sql server express吗?
我走的Windows窗体路线是对的吗?
有人可以向我指出有关此类软件开发的一些非常好的信息吗?
先感谢您。
我是一名网络开发人员,几乎没有寡妇表单开发经验,我想在开始之前找到关于这个主题的非常好的信息。
我计划构建一个 Windows 窗体应用程序,该应用程序将通过 cd 交付给用户。cd 将安装应用程序,我假设数据库到客户端机器。客户端机器并不总是可以访问互联网。我有哪些选择?
可以用什么数据库,可以用sql server express吗?
我走的Windows窗体路线是对的吗?
有人可以向我指出有关此类软件开发的一些非常好的信息吗?
先感谢您。
如果您的 Windows 开发经验很少,我强烈建议您跳过 WinForms,直接转向 WPF,甚至转而使用浏览器外的 Silverlight。WinForms 正在迅速被这两种新技术所取代,此时没有理由不开始学习它们而不是 WinForms。
您可以使用 SQL Server Express,但如果每个用户都拥有自己的数据库,这可能会在部署应用程序时导致复杂化。您可能需要考虑使用 SQL Compact Edition 作为替代方案。
有关更多信息,请参阅本文。
几年前我这样做了(构建了一个桌面 Windows 窗体应用程序,之前只开发了 Web 应用程序)。我发现这比我预期的要容易,因为我对 C# 和 .NET Framework BCL 的了解都无缝地继承了下来。
有一些棘手的例外情况;我碰到的一个事实是,您可能需要深入研究多线程,以便它不会让您的用户觉得您的应用程序已经挂起——尽管随着BackgroundWorker类的出现,这变得容易多了。
正如 David 所说,您可以将 SQL Compact Edition 用作数据库,或者作为替代方案,使用SQLite和System.Data.SQLite ADO.NET Provider。我现在已经将它与一些应用程序(网络和桌面)一起使用,它非常简单、可靠且易于分发。
我也同意 David 的观点,即您应该以WPF为目标,而不是专注于 WinForms。作为 Web 开发人员,WPF 也会对您有所帮助,因为它基于标记。
部署明智:如果您有 Visual Studio 标准版或更高版本,您可以非常简单地创建安装项目,该项目将负责创建安装程序、将数据库复制到用户机器上的正确位置等。