2016-07-02 17 views
-1

Iは、上記のコードをForm1の中に配置されるようVB.NET別のフォームに値を渡す最も良い方法は何ですか?

Dim connStr as String = "Server = localhost; Database = tester; Uid = root; Pwd = 123"

、同じ接続文字列を使用する2つの形態を有します。 Form2では、同じ接続文字列を再度使用します。次のすべてのフォームにコピーして貼り付ける代わりに、それを行う最善の方法は何ですか?

私はこのコードを使ってみましたが、Public Property connString as String = "bla..bla"はForm2です。 Form1では、このように同じ文字列を保持させますForm2.connString = connStr

これはフォーム間で値を渡す正しい方法ですか?それとも、それを行う適切な方法がありますか?

+2

ConnectionStringは、プロジェクトの[プロパティ]設定でapp.config(web.config)に格納する必要があります。次に、_ConfigurationManager.ConnectionStrings [keyOfYourString] .ConnectionString_を使用してその値を読み取ることができます。あなたのプログラムでそれらをハードコードしないでください。もちろん、フォーム間を渡さないでください。 – Steve

+0

最も一般的な方法は、接続文字列インタフェース。つまり、データベース接続を処理する別のクラス(またはクラス)を用意する必要があります。そのクラスの中で、接続文字列を知っているオブジェクトをインスタンス化することができます。しかし、それらの中でさえ、接続をハードコードしないでしょう - あなたは設定(app.configやweb.configなど)からそれを取得する必要があります。 – germi

+0

ありがとう@Steve!私の間違いから学ぶでしょう。 – Student

答えて

0

以下のような形の間を通過する値として引数を渡します。

Visual Studioを開き、モジュールの追加>メニューバーから[プロジェクト]をクリック...>を選択モジュール> OK

そこから、あなたはあなたのグローバル変数を宣言することができます。

Module Module1 
    Public connStr as String = "Server = localhost; Database = tester; Uid = root; Pwd = 123"  
End Module 

変数 "connStr"を別のフォームから呼び出すことができるようになりました。

Form1とForm2から、このGLOBAL VARIABLEをローカル変数と同じように呼び出すことができます。

+0

ありがとうございます。だからあなたはそれを他の形式からどのように呼んでいますか? – Student

+0

ローカル変数を呼び出す方法と同じように呼び出すことができます。 –

+0

ありがとうございます。あなたの答えを受け入れました。それを呼び出す方法の完全なガイドを表示するように更新してください – Student

0

は、コンストラクタを作成し、別のフォームから変数を渡すか、呼び出すための最良の方法は、モジュールを作成することです

Sub New(ByVal s As String, i As Integer) 
関連する問題