关于C#创建winfrom程序时项目中添加数据库问题
C#创建 winfrom 程序时如果 直接在项目中添加基于服务的数据库,
然后项目生产时会在\bin\Debug\文件下产生相同的数据库文件。

同时有2个数据库,问题就产生了。
当使用这个 Sql连接字符串时
string sql = @"DataSource=.\SQLEXPRESS;AttachDbFilename='d:\backup\我的文档\visual studio 2010\Projects\登陆窗口\登陆窗口\Database1.mdf';IntegratedSecurity=True;User Instance=True";访问的是项目下的数据库。这个数据库里的内容我们可以在VS里这样看到。(下图)

而当使用这个connectionString="DataSource=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;IntegratedSecurity=True;User Instance=True" 连接字符串时,访问的数据库为\bin\Debug\下的数据库。
将\bin\Debug\下的数据库 附加到 SQL数据库中,会发现数据库是灰色的,并且为只读
这个只读并非不能修改数据库中的数据, 而是不能修改数据库的结构。

在C#开发Winform应用程序时,直接在项目中添加基于服务的数据库会导致项目运行时生成两个数据库文件,分别位于项目目录和inDebug目录下。使用不同的Sql连接字符串会访问不同位置的数据库,其中使用|DataDirectory|的连接字符串会访问inDebug目录下的数据库。此数据库在附加到SQL Server时显示为灰色且只读,意味着只能修改数据,不能修改数据库结构。

8584

被折叠的 条评论
为什么被折叠?



