Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Редактировать DBF


Автор: N1ko 2.9.2010, 11:17
Код

       private BindingSource bs;
        private DataTable dt;
       //Загрузка
        private void button1_Click(object sender, EventArgs e)
        {
            bs = new BindingSource();
            OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\;Extended Properties=dBASE IV;User ID=Admin;Password=");
            con.Open();
            OleDbCommand create = con.CreateCommand();
            create.CommandText = "SELECT * FROM Some.DBF";
            dt = new DataTable();
            dt.Load(create.ExecuteReader());
            bs.DataSource = dt;
            bs.AllowNew = true;
            dataGridView1.DataSource = bs;
            con.Close();
        }
        //Попытка внесения изменений
        private void button2_Click(object sender, EventArgs e)
        {
            bs.EndEdit();
            dt.AcceptChanges();
            dataGridView1.Refresh();
        }


Здравствуйте. Данные из DBF файла никак не хотят обновляться после их правки. Загружается нормально. Что я делаю не так?

Автор: mrbrooks 2.9.2010, 12:45
N1ko, 
обновление целомудренней осуществлять через OleDbDataAdapter.Update(). Так же необходимо описать логику обновления:
    руками;
    сгенерировать ее через класс OleDbCommandBuilder();
    воспользоваться мастером VS для создания строготипизированного TableAdapter;
 

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