c# - 在 Visual Studio 中的 WPF 项目上找不到本地数据库

标签 c# wpf

我正在尝试为客户端创建 WPF 应用程序并且需要 SQL 服务器。我目前正在使用 Visual Studio 来开发所有内容,但我以前从未在 Web 应用程序之外使用过 SQL 服务器。我通过添加“基于服务的数据库”向我的 WPF 项目添加了一个新的 SQL 数据库,并且一切正常。直到我将项目转移到另一台计算机,它崩溃并给我错误“System.Data.SqlClient.SqlException:找不到数据库”。在我的 VS 项目中设置数据库时,我缺少什么吗?为什么它只能在我的开发 PC 上运行,而不能在我将其转移到的任何其他 PC 上运行?

它崩溃的代码:

string cn_string = Properties.Settings.Default.connection_String;
//Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\_data\db_local.mdf;Integrated Security=True
string cmdString = "SELECT * FROM tbl_Clients";

using (SqlConnection con = new SqlConnection(cn_string))
{
   SqlCommand cmd = new SqlCommand(cmdString, con);
   SqlDataAdapter sda = new SqlDataAdapter(cmd);
   DataTable dt = new DataTable("tbl_Clients");
   sda.Fill(dt);
   MyDataGrid.ItemsSource = dt.DefaultView;
}

对不起,我的问题很简单,我目前正在高中学习编程。感谢您的帮助。

最佳答案

使用基于服务的数据库要求您在要运行 WPF 客户端应用程序的计算机上设置 SQL Server 服务。

如果您想要一个可以与您的应用程序一起 xcopy 部署的嵌入式数据库,您应该看看 SQLite .与您在 Visual Studio 中创建的基于服务的数据库不同,它是完全独立的,不需要您安装任何服务。

关于c# - 在 Visual Studio 中的 WPF 项目上找不到本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55565899/

相关文章:

c# - 有没有更简单的方法来使用未知类型进行类型转换?

wpf - 有没有好的 WPF 控件库?

c# - 如何在 asp :Repeater? 中改变我的 ItemTemplate

c# - P/Invoke、Pinning 和 KeepAlive 最佳实践

c# - 没有调用的C#事件

c# - 从 GroupDescription 获取组

c# - 如何使用多对多关系中的两个对象绑定(bind)到 WPF View ?

c# - 使用变量访问 WPF 元素

c# - 创建新的 C# 文件时命名空间错误?

c# - 修复 .NET Core App 3.1 开源依赖漏洞