Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > OleDBConnection! Open() Помогите разобраться


Автор: Certain 25.6.2008, 14:45
Добрый день! Уважаемые программеры, помогите разобраться ....smile 
Как видите в приведенном ниже коде в обработчике события button2 закоментирован метод Open,
объясните мне пожалуйста, почему все работает?
Код


 private void button1_Click(object sender, EventArgs e)
        {
            comboBox1.Items.Clear();
            string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=base.mdb;Jet OLEDB:Database Password=********;";
            string commandString = "SELECT * FROM Города";
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(commandString, connectionString);
            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet, "Города");
            foreach (DataRow dataRow in dataSet.Tables["Города"].Rows)
            {
                comboBox1.Items.Add(dataRow["Название"]);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=base.mdb;Jet OLEDB:Database Password=********;");
            OleDbCommand command =new OleDbCommand();
            //connection.Open();
            
            command.Connection = connection;
            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT * FROM Города where [Название]=@НазваниеГорода";
            command.Parameters.Add("@НазваниеГорода", OleDbType.Char).Value="Москва";
            
            comboBox1.Items.Clear();
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = command;
            dataAdapter.TableMappings.Add("Table", "Города");
            DataSet dataSet = new DataSet();
            dataAdapter.Fill(dataSet);
            foreach (DataRow dataRow in dataSet.Tables["Города"].Rows)
            {
                comboBox1.Items.Add(dataRow["ID"]);
            }
        }


Автор: Idsa 25.6.2008, 14:55
Certain, адаптеры сами открывают и закрывают подключение.

Автор: Certain 25.6.2008, 15:04
А в каком именно месте происходит обращение к БД?
Код
dataAdapter.Fill(dataSet); 
 ?
В акцесе что-то я не увидел Profiler как SQL Server, поэтому посмотреть не могу...

Автор: Idsa 25.6.2008, 15:15
Цитата(Certain @  25.6.2008,  19:04 Найти цитируемый пост)
?

Да, здесь.

Автор: Certain 25.6.2008, 15:24
спасибо! Тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)