c# - 如何在 C# 应用程序中创建本地数据库的通用文件路径?
问题描述
我有一个简单的数据输入 Windows 窗体,带有链接到本地数据库的 datagridview 显示。当我运行程序并尝试在另一台计算机上添加数据时,我收到以下消息:
您的应用程序中发生了未处理的异常。如果单击继续,应用程序将忽略此错误并尝试继续。如果单击退出,应用程序将立即关闭。
尝试为文件 C:\Users\roberto.yepez\Documents\Visual Studio\2010\Projects\Financial Aid Calculator\Financial Aid Calculator\StudentInfo1.mdf 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。”
文件路径是我编写程序的计算机上的路径。
这是我的代码:
SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\roberto.yepez\Documents\Visual Studio 2010\Projects\Financial Aid Calculator\Financial Aid Calculator\StudentInfo1.mdf';Integrated Security=True".ToString());
我是一个自学成才的程序员,请帮忙!:)
解决方案
我相信您遇到了问题,因为您的代码尝试将 StudentInfo1.mdf (其路径在连接字符串中)附加到的本地 sql 服务器已经包含一个名为 StudentInfo1 的数据库 - 它决定尝试创建一个数据库此名称的名称基于 mdf 文件的名称。我猜您可以通过在连接字符串中指定 Initial Catalog 来选择自己的名称,但这意味着有两个数据库可能具有相同的表集并且可能会造成混淆
根据我发布的评论,我建议您使用 SQL Server Management Studio 永久附加您的数据库(您已经这样做了),然后调整您的连接字符串,使其引用永久附加的数据库。这减少了您的下一个问题是“我的代码说它正在更新我的数据库但我看不到任何更改!?”的可能性。
推荐阅读
- python - 将列中的所有唯一词放入新数据集中
- javascript - 附加结果中的反引号在 IE 浏览器中不起作用
- c# - Json 没有正确反序列化为一个类
- sql - 同一张表中的 Sum 和 Substract 列
- java - Firebase 身份验证不适用于 Java(jvm)(桌面)
- ionic-framework - 如何在静态网站中使用没有 CDN 的 Ionic 4 CSS 和 JS?
- jquery - 如何使用 jQuery 更改 HTML 表格的边框粗细和脉动边框颜色,直到检测到“其他地方”点击?
- python-3.x - 遍历矩阵并创建字典
- vba - VBA MS ACCESS:如何修复if中的第一个条件?
- delphi - 如何关闭 idHTTPServer 上的所有连接?