2011-01-06 92 views
0

嗨 我使用visual basic express 2010和SQL server 2008 R2 這是我的問題 我在sql中創建數據庫,然後通過visual basic連接到數據庫。 像動態sql連接

<?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=&quot;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&quot;" providerName="System.Data.EntityClient" />

一切正常,但如果我將在其他PC使用它,然後數據庫目錄和SQL服務器名稱將是不同的...... 所以我需要開始前詢問程序對於服務器名稱,數據庫名稱...

回答

0

如果您不知道數據庫文件的路徑,那麼您將需要詢問用戶。如果你自己創建數據庫文件,那麼你應該知道位置。如果SQL Server在本地運行,那麼您可以使用.作爲源,並將解析到本地計算機。

你可以在AttachDbFilename中做的一件事是開始從|DataDirectory|(即AttachDbFilename = | DataDirectory | \ Folder1 \ MyDatabase.mdf)開始,這將解析爲您的應用程序的數據目錄;與大多數winforms應用程序一樣,這是可執行文件所在的文件夾,但是一些技術(如ClickOnce)的數據目錄位於其他位置。

HTH

編輯:

如果事實證明你確實需要建立在運行時的連接字符串,也有框架,這將提供幫助的類。 SQL Server版本在這裏描述在MSDN:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx

+0

現在,當我有數據庫在程序中,每當我啓動程序數據庫清除....我需要記住關閉程序後的數據...我該如何解決它? – caba11 2011-01-08 14:26:20