使用SQL Server数据库发布C#桌面应用程序

问题描述

我有一个Visual Studio项目,该项目具有不同的Windows窗体和一个sql Server数据库。我想在我的客户端计算机(其他)上安装此项目。由于我以前没有发布过任何项目,因此有人可以轻松地指导我。

当我尝试在计算机上发布(安装)此项目时(将创建安装文件并安装该应用程序),但是在保存更新删除数据时出现以下错误。请正确引导我。

enter image description here

解决方法

您在这里采用完全错误的方法。

数据库不打算安装在客户端计算机中。如果您有客户端/服务器应用程序,则数据库应仅位于服务器中,客户端将通过服务器等会响应的协议(例如TCP)发送请求来访问数据库/请求写入数据库。

将数据库添加到应用程序时,您将提供一个连接字符串,并且此连接字符串与您的数据库实例相关。如果希望每个客户端使用唯一的数据库,则需要转到他们的计算机,安装DBMS,在其中创建数据库,然后编辑程序代码以包括特定客户端实例的连接字符串。显然,这不是一个可行的选择,除非您所谈论的客户与您的直系亲戚/室友一样。

如果您打算为客户应用提供保存/读取数据的功能,则需要通过将数据写入程序可以读取的本地文件(例如csv或制表符分隔的文件。不通过数据库。至少不是SQL Server。如果您完全有义务使用数据库,那么请考虑使用嵌入式,无服务器的数据库,例如来自SQLite的数据库。

出现此错误的原因是因为客户端程序正在尝试查找代码中指示的数据库实例,但是当然,该实例在客户端计算机中不存在,因此客户端无法访问做任何事情。

此外,请记住使用异常处理。我们无法确定确切的错误是什么(尽管很明显),因为您的代码仅说“发生了未处理的异常”。始终将代码包装在try / catch块中,至少让它们将异常打印到控制台,以便您知道为什么程序在运行时失败。