C#

C# OleDb Access to DataGridView Open. Table list ComboBox

hwanjung 2022. 4. 23. 12:14
// Access open to Table Read

OpenFileDialog _Ofd = new OpenFileDialog();
_Ofd.Filter = "Access File (*.accdb)|*.accdb";

if (_Ofd.ShowDialog() == DialogResult.OK)
{
	string OpenFilePathName = _Ofd.FileName;
	try
	{
		//"Provider=Microsoft.Jet.OLEDB.4.0;DataSource='d:\\Project\\database\\Program.mdb'";
		string _StrConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + OpenFilePathName + ";";
		using (OleDbConnection _OleConn = new OleDbConnection(_StrConn))
		{
			_OleConn.Open();

			DataTable _DTable = _OleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
				new object[] { null, null, null, "TABLE" });

			if (_DTable.Rows.Count == 0) MessageBox.Show("No Table");
			else
			{
				string sTable = string.Empty;
				for (int r = 0; r < _DTable.Rows.Count; r++)
				{
					comboBox1.Items.Add(_DTable.Rows[r]["TABLE_NAME"].ToString());
				}
			}
			if (_OleConn.State == ConnectionState.Open)
			{
				_OleConn.Close();  // 연결 종료
			}
		}
	}
	catch (Exception ex)
	{
		MessageBox.Show(ex.Message);
	}
}
// ComboBox Text Name (Table Name) Select DB Load 

if (OpenFilePathName.Length > 0 && comboBox1.Text.Length > 0)
{
	string _StrConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + OpenFilePathName + ";";
	using (OleDbConnection _OleConn = new OleDbConnection(_StrConn))
	{
		_OleConn.Open();

		OleDbDataAdapter _Adapter = new OleDbDataAdapter();
		_Adapter.SelectCommand = new OleDbCommand("SELECT * FROM [" + comboBox1.Text + "]", _OleConn);

		DataSet _DSet = new DataSet();
		_Adapter.Fill(_DSet);
		dataGridView1.DataSource = _DSet.Tables[0].DefaultView;

		if (_OleConn.State == ConnectionState.Open)
		{
			_OleConn.Close();
		}
	}
}