Код:
private BindingSource source = new BindingSource();
private DataSet dataSet = new DataSet();
private string connectionString = "Data Source=\"BD\\bd.mdb\";User " + "ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";";
private void Form1_Load(object sender, EventArgs e)
{
connect();
}
private void connect()
{
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM anketa", connection);
dataSet = new DataSet();
adapter.Fill(dataSet);
connection.Close();
source.DataSource = dataSet.Tables[0];
dataGridView.DataSource = source;
dataGridView.Columns[0].Visible = false;
}
private void save()
{
// Подключение --------------------------------------------------------------------->>>
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM anketa", connection);
connection.Close();
dataGridView.Columns[0].Visible = false;
// <<<---------------------------------------------------------------------
// Обновление --------------------------------------------------------------------->>>
adapter.UpdateCommand = new OleDbCommand("UPDATE anketa SET surname = ?, name_ = ? WHERE id = ?");
adapter.UpdateCommand.Parameters.Add("surname", OleDbType.VarChar, 25, "surname");
adapter.UpdateCommand.Parameters.Add("name_", OleDbType.VarChar, 12, "name_");
adapter.UpdateCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
adapter.UpdateCommand.Connection = connection;
// <<<---------------------------------------------------------------------
// Добавление --------------------------------------------------------------------->>>
adapter.InsertCommand = new OleDbCommand("INSERT INTO Peoples (surname, name_) VALUES (?, ?)");
adapter.UpdateCommand.Parameters.Add("surname", OleDbType.VarChar, 25, "surname");
adapter.UpdateCommand.Parameters.Add("name_", OleDbType.VarChar, 12, "name_");
adapter.InsertCommand.Connection = connection;
// <<<---------------------------------------------------------------------
// Удаление --------------------------------------------------------------------->>>
adapter.DeleteCommand = new OleDbCommand("DELETE * FROM anketa WHERE id = ?");
adapter.DeleteCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
adapter.DeleteCommand.Connection = connection;
// <<<---------------------------------------------------------------------
adapter.Update(dataSet.Tables[0]);//ТУТ ОШИБКА
connect();
}
private void button1_Click(object sender, EventArgs e)
{
if (dataGridView.CurrentRow != null)
{
dataGridView.Rows.Remove(dataGridView.CurrentRow);
save();
}
}
private void button2_Click(object sender, EventArgs e)
{
DataRow row = dataSet.Tables[0].NewRow();
dataSet.Tables[0].Rows.Add(row);
save();
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
save();
}
Пишет: Отсутствует значение для одного или нескольких требуемых параметров.
Спасибо