C# listbox.selectedItem. Как получить выделенную строку считанную из бд access

Всем привет. Ребята, помогите разобраться. Начал изучать с#. Задача написать программу которая будет считывать информацию (база access) в listbox и ( самое главное) при выделении строки , получить эту строку ( знаю что это делается с помощью selectedItem), что бы совершать с ней какие нить операции. 

{ namespace TEMP { public partial class Form1 : Form { public string sqlQuet = "SELECT [Name Sections] FROM [List of Partition Engine Room]", connectionPathBD = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\TEMP\MarinePart\buck up\MeriTime\Common.mdb";

            public Form1()
            {
                InitializeComponent();
                OleDbDataAdapter DA = new OleDbDataAdapter(sqlQuet, connectionPathBD);
                DataSet DS = new DataSet();

                DA.Fill(DS, "[List of Partition Engine Room]");
                listBox1.DataSource = DS.Tables[0].DefaultView;
            }

         private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Здесь надо прописать что-то, что будет считывать строку  через
listBox1.selectItem;
        }
        } 
    }

}


Ответы (1 шт):

Автор решения: Alexander Petrov

Во-первых, нужно заключить в кавычки путь к базе данных, так как он содержит пробелы:

Data Source = \"C:\\TEMP\\MarinePart\\buck up\\MeriTime\\Common.mdb\"

Кавычки экранированы: \".

Также можно использовать одинарные кавычки. Их не нужно экранировать:

Data Source = 'C:\\TEMP\\MarinePart\\buck up\\MeriTime\\Common.mdb'

Во-вторых, провайдер Microsoft.Jet.OLEDB.4.0 давным-давно устарел. Он использовался с версиями Access 97-2003.

Для более новых версий Аксеса используется провайдер Microsoft.ACE.OLEDB.12.0.


В-третьих, если есть сомнения по поводу того, как правильно записать строку соединения, то следует использовать специальный класс для её конструирования:

var builder = new OleDbConnectionStringBuilder();
builder.Provider = "Microsoft.ACE.OLEDB.12.0";
builder.DataSource = "C:\\TEMP\\MarinePart\\buck up\\MeriTime\\Common.mdb";

string connectionString = builder.ToString();

Билдер автоматически сделает экранирование, где нужно.

→ Ссылка