none
обновление базы данных из DataGridView RRS feed

  • Вопрос

  • myOleDbConnection1 = gcnew OleDbConnection();

    myOleDbConnection1->ConnectionString="Provider = SQLOLEDB; Data Source =... "; //Строка подключения

    mySqlCommand1 = gcnew OleDbCommand("SELECT name FROM sys.databases where name not in('master', 'tempdb', 'model', 'msdb')", myOleDbConnection1); //SQL запрос для получения данных

    myOleDataAdapter1 = gcnew OleDbDataAdapter(mySqlCommand1);

    myDataSet1 = gcnew DataSet();

    myOleDataAdapter1->Fill(myDataSet1);

    dataGridView1->DataSourse = myDataSet1->Tables[0];

    Как сделать так, чтобы при изменении датагрида сохранялись данные назад в базу данных! Видел несколько примеров с TableAdapter и TableAdapterManager, но не разобрался...

    27 января 2013 г. 4:04

Ответы

  • Добрый день.

    У OleDataAdapter помимо команды выборки (которую вы передаете в конструктор), есть еще InsertCommand, UpdateCommand и DeleteCommand. Которые можно присвоить в явном виде.

    Ну а дальше все просто. У вас через визуальный интерфейс меняются записи, а вы для сохранения, вызываете метод на myOleDataAdapter1 метод Update(DataSet), передав в него myDataSet1. Ну или используете перегруженную версию Update(DataTable), передавая в него myDataSet1->Tables[0].

    • Предложено в качестве ответа Abolmasov Dmitry 29 января 2013 г. 11:41
    • Помечено в качестве ответа Abolmasov Dmitry 31 января 2013 г. 10:11
    28 января 2013 г. 7:53
    Отвечающий

Все ответы