大家好,我使用的是visual basic express 2010和sql server 2008 R2,这是我的问题我用SQL创建数据库,然后用visual basic连接到数据库。喜欢
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections></configSections> <connectionStrings> <add name="WindowsApplication1.My.MySettings.BPdataConnectionString" connectionString="Data Source=.\SQLBAC;AttachDbFilename=G:\SQLSERVER\MSSQL10_50.SQLBAC\MSSQL\DATA\BPdata.mdf;Persist Security Info=True;User ID=sa;Password=martin;Connect Timeout=30;User Instance=False" providerName="System.Data.SqlClient" /> <add name="BPdataEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLBAC;AttachDbFilename=G:\SQLSERVER\MSSQL10_50.SQLBAC\MSSQL\DATA\BPdata.mdf;Persist Security Info=True;User ID=sa;Password=martin;Connect Timeout=30;User Instance=False;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
一切正常,但如果我将它用于其他PC,那么数据库目录和SQL服务器名称将不同…所以我需要在启动前向程序询问服务器名、数据库名…
发布于 2011-01-07 03:34:25
如果您不知道数据库文件的路径,则需要询问用户。如果您自己创建数据库文件,那么您应该知道该文件的位置。如果SQL Server在本地运行,则可以对源使用.,并将其解析到本地计算机。
在winforms中,你可以做的一件事就是从AttachDbFilename=|DataDirectory|\Folder1\MyDatabase.mdf)开始,它将解析到你的应用程序的数据目录;对于大多数AttachDbFilename应用程序,这是可执行文件所在的文件夹,但有些技术(如ClickOnce)会将数据目录放在其他地方。
HTH
编辑:
如果事实证明你确实需要在运行时构建连接字符串,框架中有一些类可以帮助你做到这一点。有关SQL Server版本的说明,请访问MSDN:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx
https://stackoverflow.com/questions/4618888
复制相似问题