C# Can';无法在桌面应用程序中访问mdf文件
我需要你的帮助。。也许这是我无法解决的小任务,但我不知道如何在任何搜索引擎上搜索它 我正在WPF登录注册桌面应用程序中使用C# Can';无法在桌面应用程序中访问mdf文件,c#,sql-server,wpf,C#,Sql Server,Wpf,我需要你的帮助。。也许这是我无法解决的小任务,但我不知道如何在任何搜索引擎上搜索它 我正在WPF登录注册桌面应用程序中使用.mdf文件(vs 2103)。。一切正常,没有编译错误。我在VisualStudio中使用query将一些数据插入到.mdf文件中,然后尝试通过应用程序登录,它工作正常。此外,如果我使用.mdf文件的“绝对路径”,我还可以注册,即从应用程序的注册选项插入.mdf文件。当我尝试使用“相对路径”插入.mdf文件时,问题就出现了。。。它不会将数据插入.mdf…我不知道为什么 (此
.mdf
文件(vs 2103)。。一切正常,没有编译错误。我在VisualStudio中使用query将一些数据插入到.mdf
文件中,然后尝试通过应用程序登录,它工作正常。此外,如果我使用.mdf
文件的“绝对路径”,我还可以注册,即从应用程序的注册选项插入.mdf
文件。当我尝试使用“相对路径”插入.mdf
文件时,问题就出现了。。。它不会将数据插入.mdf
…我不知道为什么
(此绝对路径不起作用。我在数据库文件夹中有.mdf
文件)
它显示消息“您已注册”
但在.mdf文件中不可见。。。
我想问…为什么会这样…我想使用相对路径,因为我们无法判断客户端系统的绝对路径…我犯了什么错误?如何处理这个(我想是自己造成的)问题?整个AttachDbFileName=方法都有缺陷——最多!在Visual Studio中运行应用程序时,它将围绕.mdf
文件进行复制(从app\u Data
目录复制到输出目录-通常是\bin\debug
-应用程序运行的地方)和最有可能是,您的INSERT
工作正常-但您最后看到的是错误的.mdf文件
如果您想继续使用这种方法,请尝试在myConnection.Close()
调用上放置一个断点,然后使用SQL Server Mgmt Studio Express检查.mdf
文件,我几乎可以肯定您的数据在那里
我认为真正的解决办法是
MyDatabase
)Data Source=.\\SQLEXPRESS;Database=MyDatabase;Integrated Security=True
其他一切都和以前一样另请参阅Aaron Bertrand优秀的博客文章,以获得更深入的解释和提示感谢您的快速回复。…如果我使用ssms,一切都很好,但为什么不使用.mdf。…我不想在客户端系统上安装ssms,因此我必须使用.mdf文件(如果我错了,请纠正我的错误想法)... 正如您所说的“您最终只是查看了错误的.mdf文件!”…那么我必须查找哪个mdf?bin\debug\\Database\Database1.mdf???@Mrspider94:是,如果在
AttachDbFileName=
中使用相对路径,然后Visual Studio将围绕.mdf
文件进行复制-这是一个真正的混乱,是许多混乱和悲伤的来源,如果您将数据库放在第一个plcaeOpes中它所属的服务器上,您可以省去这些混乱和悲伤:(如果我不想在我的客户机上安装sql server express,该怎么办?…在有限的时间内保留数据的任何替代品…然后将其更新到远程sql server,因为我不想在远程sql server上实时插入数据(考虑到网络问题)我有很多关于库存管理系统的困惑…如果你允许我的话,我想得到更多sugestions@Mrspider94:如果要使用.mdf
,则必须安装SQL Server Express-如果至少没有SQL Server Express,则无法使用.mdf
。好的,您知道了,但仍然不知道该怎么做…如果我不知道该用什么希望我的客户另外安装任何软件…为简单起见,假设是一个小场景…如果我想开发一个需要多次注册的应用程序,并且需要在应用程序中保存该用户的记录,我应该使用什么?我希望强制用户安装sql server不是一个好的做法,那么应该怎么做我使用该应用程序,因此用户只需安装我的应用程序,无需其他任何操作…这可能是一个愚蠢的问题,但我无法在谷歌上搜索此应用程序,或者可能是b我不知道如何搜索:/
Data Source=.\\SQLEXPRESS;Database=MyDatabase;Integrated Security=True