Удаление из файла. mdb с помощью кнопки delete
Привет всем, я пытаюсь понять, почему мой код не позволяет мне удалить строку из файла. mdb. он продолжает говорить
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll Additional information: Data type mismatch in criteria expression.Это та же самая ошибка, которую я получаю, когда ищу предмет. Код для удаления, который вызывает у меня проблемы, таков:
public void Delete() { OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Work Projects\\SurveyApp\\employees.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("DELETE *FROM employee Where EmpID='" + EmpID + "'", conn); cmd.ExecuteNonQuery();а код для поиска такой:
private void searchb_Click(object sender, EventArgs e) { OleDbConnection con; OleDbDataAdapter ad; //text test if (searchtext.Text == "") { MessageBox.Show("Plese Enter the ID you are searching for"); } else { con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Work Projects\\SurveyApp\\employees.mdb"); ad = new OleDbDataAdapter("SELECT * FROM employee WHERE EmpID='searchtext.text'", con); ad.SelectCommand.Parameters.Add("@EmpID", OleDbType.Integer); ad.SelectCommand.Parameters["@EmpID"].Value = int.Parse(searchtext.Text); DataSet ds = new DataSet(); ad.Fill(ds, "DGV1"); DGV1.DataSource = ds.Tables["DGV1"]; DGV1.Refresh(); DGV1.Update(); } }
Кроме того я не уверен почему обновление тоже не работает я получаю синтаксическую ошибку в инструкции update
public void Update() { OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Work Projects\\SurveyApp\\employees.mdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("update employee([EmpID],[Name],[Jobtitle],[Company])Values ('" + EmpID + "','" + Name + "','" + Jobtitle + "','" + Company + "')", conn); cmd.ExecuteNonQuery();
Большое спасибо за все, что вы можете помочь с парнями!
Что я уже пробовал:
Я не уверен, что мне нужно изменить для исправления.
PIEBALDconsult
Вам нужно больше изучать SQL.
Ваш оператор DELETE не должен иметь звездочки перед символом FROM.
Ваш оператор UPDATE выглядит так, как будто вы просто убили оператор INSERT.
Кроме того, пожалуйста, используйте параметры, а не конкатенацию строк, чтобы вставлять значения в оператор.