前提・実現したいこと
クラス1でSQLServerの接続を行う
→クラス2のメソッドに移動
→クラス2でSQLを実行
→クラス1でSQLの接続を切る
発生している問題・ソースコード
http://okwakatta.net/code/ado05.html
上記のサイトを参考に、SQLServerの接続/データの取得をするプログラムを書こうとしています。
サイトでは接続/SQL文の実行/接続解除を1つのメソッドで行っていますが、
接続/接続解除→Class1
SQL実行→Class2
のように別々で行うことは可能でしょうか。
下記のコードでは接続/接続解除は可能ですが、SQL文の実行が実現できていません。
(Class2.MethodSQLのcommand.Connection = ConnectDB.Connection;がNullになっているため)
解決方法または別の良い方法がありましたら、恐れ入りますがご教示お願い致します。
### [Class1] public SqlConnection Connection { get; set; } public void ConnectDB() { SqlConnection Connection = null; var getDate = new GetData(); var connectionString = ConfigurationManager.ConnectionStrings["DB"].ConnectionString; try { Connection = new SqlConnection(connectionString); Connection.Open(); Class2.MethodSQL(this); } catch (Exception exception) { Console.WriteLine(exception.Message); throw; } finally { Connection.Close(); } }
### [Class2] public void MethodSQL(ConnectDB connectDB) { SqlCommand command = new SqlCommand(); command.CommandText = "SELECT * FROM Table1"; command.Connection = ConnectDB.Connection; SqlDataReader reader = command.ExecuteReader(); 以下省略 }
補足情報(FW/ツールのバージョンなど)
使用しているツールは以下の通りです。
SQLServer2014
VisualStudio2017
回答1件
あなたの回答
tips
プレビュー