| ■93382 / ) |
Re[2]: 「接続文字列」を変数に格納 |
□投稿者/ たかし (31回)-(2019/12/09(Mon) 12:25:26)
|
■No93381 (KOZ さん) に返信 > 2019/12/08(Sun) 22:00:04 編集(投稿者) > > ■No93362 (たかし さん) に返信 >><connectionStrings> >> <add name="**********.My.MySettings.**********_SQLConnectionString" >> connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=**********SQL;Integrated Security=True" >> providerName="System.Data.SqlClient" /> >> </connectionStrings> > > System.Configuration を参照設定して > > Imports System.Data.Common > Imports System.Configuration > > Const connectionName As String = "**********.My.MySettings.**********_SQLConnectionString" > Dim config As ConnectionStringSettings = > ConfigurationManager.ConnectionStrings(connectionName) > > としておいて > > Dim factory As DbProviderFactory = DbProviderFactories.GetFactory(config.ProviderName) > Dim con As DbConnection = factory.CreateConnection() > con.ConnectionString = config.ConnectionString > con.Open() > > もしくは > > Dim cn As New SqlClient.SqlConnection > cn.ConnectionString = config.ConnectionString > cn.Open() > > でどうでしょうか。 >
質問の趣旨をこの辺でもう一度はっきりさせたいと思います。 「接続文字列」を変数に格納するにはどうしたらよいか? その一点です。
変数を用いずにダイレクトに次のように記載すると正常に動きます。 cn.ConnectionString = "Data Source=(local)\SQLEXPRESS;Initial Catalog=**********SQL;Integrated Security=True"
ところが、
Dim 接続文字列 As String
接続文字列 = Form1.接続文字列TextBox.Text cn.ConnectionString = 接続文字列
というコードではエラーになる。 これのどこが間違えているのか? そこが知りたいのです。 ちなみにcn.Open()のエラーのメッセージは 「System.InvalidOperationException: 'ConnectionString プロパティは初期化されていません。'」 というものです。
その線でアドバイスが頂けるとありがたいです。
|
|