1

プロジェクトには複数のフォームがあります。ラップトップで作業することもあれば、デスクトップで作業することもあります。問題は、プロジェクトをラップトップからデスクトップに、またはその逆に転送するときに、プロジェクト内のすべてのフォームの接続文字列を変更する必要があることです。

これは私の接続文字列です。私はそれを世界的に宣言しました。

Dim CN As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=D:\Documents and Settings\Adriane05\Desktop\ThesisDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")

すべてのフォームで変更せずに1つのファイルを変更するにはどうすればよいですか?

4

3 に答える 3

4

これを達成する方法はいくつかあります。まず、接続文字列が変更されないように、プロジェクトフォルダをすべてのコンピュータの同じドライブ文字にマップできます。私のプロジェクトはTrueCryptで暗号化したドライブ上にあるため、デフォルトでこれを行います

もう1つの方法は、単純なコードパターンです。接続文字列を設定またはグローバル変数に保存し、アプリケーションが読み込まれたときに次のように実行します。

if Environment.MachineName.Equals("laptop") then
    connectionString = ' Connection string 1
ElseIf Environment.MachineName.Equals("desktop") then
    connectionString = ' Connection string 2 
else
    connectionString = My.Settings.ConnectionString
End If

databaseProvider.Open(connectionString)
于 2012-11-11T08:07:37.090 に答える
1

どこかでグローバル変数(または定数)を宣言し、投稿に記載されているステートメントを次のように置き換えます

Dim CN As New SqlConnection(NameOfGlobalVariable)

于 2012-11-11T08:06:28.040 に答える
1

ファイル内の接続文字列を移動することをお勧めしconfigます。次のチュートリアルを参照してください。

接続文字列を構成に保存します

接続文字列と構成ファイル

于 2012-11-12T06:44:31.993 に答える