Как создать пустую базу данных в Ce и отобразить ее с помощью datagridview - PullRequest
0 голосов
/ 27 марта 2012

итак, мой код

if (System.IO.File.Exists(fileName))
        {
            System.IO.File.Delete(fileName);
        }
        SqlCeEngine en = new SqlCeEngine(connectionString);
        en.CreateDatabase();

        SqlCeConnection cn = new SqlCeConnection(connectionString);
        if (cn.State == ConnectionState.Closed)
            cn.Open();
        string sql = "create table EnergyMain(id int not null, date datetime not null, totalamount float)";
        SqlCeCommand cmd = new SqlCeCommand(sql, cn);
        cmd.ExecuteNonQuery();

        SqlCeCommand tbltodgv = new SqlCeCommand("EnergyMain", cn);
        tbltodgv.CommandType = CommandType.TableDirect;
        SqlCeResultSet rs = tbltodgv.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable);
        dgvMain.DataSource = rs;

        cn.Close();

этот код создает простую нулевую базу данных с одной пустой таблицей. когда я нажимаю кнопку на форме, это создает его. но когда я нажимаю его второй раз, он пишет ошибку

Invalid attempt to call method Updatable when SqlResultSet is closed.

как я могу создать базу данных столько раз, сколько захочу

1 Ответ

0 голосов
/ 27 марта 2012

Когда вы связываете сетку данных с набором результатов, не закрывайте базовое соединение, поэтому удалите cn.Close ()

...