使用本地数据库

时间:2015-08-16 06:29:54

标签: c# wpf database

好的,所以我很失落。这是我用Windows编写的第一个真正的应用程序。 我在VS2012中使用本地数据库编写了一个WPF应用程序,该数据库将所有CRUD编写为存储过程。 该应用程序正在我在VS中运行它。但是当我构建应用程序并安装它(在任何机器上)时,无法访问数据库。我感觉连接字符串导致了这个问题。

首先我使用了这个连接字符串:

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename='D:\LH\Personalitytest win\DB.mdf';Integrated Security=True;Database=DB")

但是当我得到"错误:26 - 错误找到指定的服务器/实例"我猜测连接的数据源不正确(尽管AttachDbFilename绝对不正确)。所以,我将连接字符串更改为:

SqlConnection conn = new SqlConnection(@"Server=(localdb)\v11.0;AttachDbFilename=" + AppDomain.CurrentDomain.BaseDirectory + "DB.mdf;Database=DB;Trusted_Connection=Yes;");

我收到一个错误,基本上说找不到文件DB.mdf。

因此,我确保将.mdf和.ldf文件复制到安装目录/数据库。 但是在安装之后这两个文件都是只读的(即使这些文件在我开发时具有读/写持久性)。我试图通过以下方式首次启动应用程序来更改文件权限(对于这两个文件):

string path = AppDomain.CurrentDomain.BaseDirectory + @"Database\DB.mdf";
FileInfo file = new FileInfo(path);
file.IsReadOnly = false;

File.SetAttributes(path, FileAttributes.Normal);

FileAttributes attributes = File.GetAttributes(path);
attributes = attributes & ~FileAttributes.ReadOnly;
File.SetAttributes(path, attributes);

但这两种方法都不起作用。

我的问题基本上是,如何在最终版本中实施数据库?

0 个答案:

没有答案