2013-10-24 77 views
0

我在我的代碼中有錯誤。它給了我一個OleDbException(沒有給出一個或多個必需參數的值),希望有人能夠顯示出來。Access數據庫c中的更新查詢錯誤#

這裏是我的代碼部分:

public void buttonEditar_Click(object sender, EventArgs e) 
{ 
    OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Gera\Documents\Visual Studio 2012\Projects\RichyAutoCenter\RichyAutoCenter\bin\Debug\Camionetas.accdb;"); 

    string query = "UPDATE [Camionetas] SET VIN = ?, Marca = ?, Modelo = ?, Año = ?, Rentada = ?, FechaRenta = ?, FechaEntrega = ?, DiasAtrasados = ?, FechaAceite = ?, FechaCambio = ?, Obervaciones = ?, PersonaRentada = ? WHERE ID = ?"; 

    int ID = int.Parse(numero); 
    string Vin = textBoxVin.Text; 
    string Marca = textBoxMarca.Text; 
    string Modelo = textBoxModelo.Text; 
    string Ano = textBoxAno.Text; 
    Boolean Rentada = checkBoxRentada.Checked; 
    string FechaRenta = dateTimePickerFechaRenta.Value.ToShortDateString(); 
    string FechaEntrega = dateTimePickerFechaEntrega.Value.ToShortDateString(); 
    int DiasAtrasados = int.Parse(textBoxDiasAtrasados.Text); 
    string FechaAceite = dateTimePickerFechaAceite.Value.ToShortDateString(); 
    string FechaCambio = dateTimePickerFechaCambio.Value.ToShortDateString(); 
    string Observaciones = textBoxObservaciones.Text; 
    string PersonaRentada = comboBoxPersonaRenta.Text; 

    OleDbCommand command = new OleDbCommand(query, connection); 
    command.CommandType = CommandType.Text; 

    command.Parameters.AddWithValue("?",Vin); 
    command.Parameters.AddWithValue("?",Marca); 
    command.Parameters.AddWithValue("?",Modelo); 
    command.Parameters.AddWithValue("?",Ano); 
    command.Parameters.AddWithValue("?",Rentada); 
    command.Parameters.AddWithValue("?",FechaRenta); 
    command.Parameters.AddWithValue("?",FechaEntrega); 
    command.Parameters.AddWithValue("?",DiasAtrasados); 
    command.Parameters.AddWithValue("?",FechaAceite); 
    command.Parameters.AddWithValue("?",FechaCambio); 
    command.Parameters.AddWithValue("?",Observaciones); 
    command.Parameters.AddWithValue("?",PersonaRentada); 
    command.Parameters.AddWithValue("?",ID); 

    connection.Open(); 
    command.ExecuteNonQuery(); // No value given for one or more required parameters error 
    connection.Close(); 
} 

回答