sam010:sam09の改良で接続と切断をフォームの起動時と破棄時に行うようにした

Oracleに接続し、テーブルのデータを取得するテスト

using System.Data.OleDb;
・・・・
//接続オブジェクトのインスタンス生成
private OleDbConnection myConn;

private void Form1_Load(object sender, System.EventArgs e)
{
	//Oracle接続文字列
	string strConn;
	strConn	=  "Provider=OraOLEDB.Oracle";
	strConn += ";Data Source=testdb";
	strConn += ";User ID=testuser";
	strConn += ";Password=testpass";

	//接続文字列を設定
	myConn = new OleDbConnection(strConn);
	
	//コネクション確立
	myConn.Open();
}

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
	//コネクションクローズ
	myConn.Close();
}

private void button1_Click(object sender, System.EventArgs e)
{

	//SQL文
	string strSQL = "SELECT * FROM sam01";
	
	//コマンドオブジェクトのインスタンス生成
	OleDbCommand mySQL = new OleDbCommand(strSQL, myConn);
	
	//データリーダーオブジェクトのインスタンス生成
	OleDbDataReader myReader = mySQL.ExecuteReader();
	
	//レコードカウンター初期化
	int RecordCount=0;

	//データ格納変数初期化
	string strData = "";

	try
	{
		//データリーダー読み込み
		while (myReader.Read())
		{
			//レコード数+1
			RecordCount++;
			
			//[CD]フィールドを格納
			strData += myReader["CD"].ToString();

			//フィールド値がNULLかどうかチェック
			if(myReader["NM"] == DBNull.Value)
			{
				//NULLを格納
				strData += " / " + "\n";
			}
			else
			{
				//[NM]フィールドを格納
				strData += " / " + myReader["NM"].ToString() + "\n";
			}
			
		}
	}
	catch (Exception ex)
	{
		//エラー表示
		MessageBox.Show(ex.ToString());
	}
	finally
	{
		//データリーダークローズ
		myReader.Close();
	}
	
	//レコード数表示
	if (RecordCount == 0)
	{
		MessageBox.Show("データなし");
	}
	else
	{
		MessageBox.Show("レコード件数:" + RecordCount.ToString() + "件\n\n" + strData);
	}

}

最初の画面

ボタンを押した後