我使用visual basic 2010制作程序并使用sqlserver compact作为数据库。我有两个名为“Year2015”和“Year2016”的文件夹。文件夹位于程序所在的位置。两个文件夹本身都有一个名为“MyData.sdf”的数据库。两个“MyData.sdf”都有相同的表格等。我试着这样做: 当用户选择“Year2015”时,程序开始运行文件夹“Year2015”中的“MyData.sdf”数据,当用户选择“Year2016”时,程序开始运行“MyData.sdf”数据在文件夹“Year2016”中。我的意思是我想以编程方式更改数据源地址。搜索网络。有一些解释,但没有我能找到的代码。如果这是一个很抱歉的问题。
答案 0 :(得分:1)
Dave Pinal是这方面的天才,我碰巧在这个主题上阅读了他的博客:
ALTER DATABASE TestDB
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
- 分离数据库
EXEC MASTER.dbo.sp_detach_db @dbname = N'TestDB'
GO
- 将MDF文件从Loc1移动到Loc 2 - 重新附加数据库
CREATE DATABASE [TestDB] ON
( FILENAME = N'F:\loc2\TestDB.mdf' ),
( FILENAME = N'F:\loc2\TestDB_log.ldf' )
FOR ATTACH
GO
注意:即使他的评论部分也很棒!
*来源PINALT来自PINAL。 http://blog.sqlauthority.com/2012/10/28/sql-server-move-database-files-mdf-and-ldf-to-another-location/
答案 1 :(得分:0)
我最终为此问题创建了自己的代码。我想为使用VB2010和SQL Server Compact的人分享它,并希望更改活动表单的数据源。代码是:
Dim sConnectionString As String
sConnectionString = "Data Source=" & My.Computer.FileSystem.CurrentDirectory & "\Year2015\MyData.sdf"
TableAdapterManager.Connection.ConnectionString = sConnectionString
这将更改活动表单的数据源。其他表单继续使用默认源