Здравствуйте, у меня есть база данных с драйверами и выпадающим списком, в которой содержатся драйверы. Но когда я добавляю новый драйвер с помощью кнопки «Добавить драйвер», он добавляется только в таблицу Microsoft Acces, а не в поле со списком. И как только я перезагружаю программу, новый драйвер удаляется из базы данных. Я также подключил базу данных в источнике данных, и я могу редактировать таблицы только оттуда (если я хочу редактировать поле со списком).
Это мое соединение с базой данных
private void Form1_Load (object sender, EventArgs e) {con = new OleDbConnection ("Provider = Microsoft.ACE.Oledb.12.0; Data Source = transportDateBase .accdb "); cmd = новый OleDbCommand (); con.Open (); cmd.Connection = con; string query = "ВЫБРАТЬ имя ИЗ драйверов"; cmd.CommandText = запрос; OleDbDataReader reader = cmd.ExecuteReader (); while (reader.Read ()) {comboDriver.Items.Add (читатель ["Имя"]); } con.Close ();
, а это моя кнопка «Добавить драйвер»:
OleDbConnection conn = new OleDbConnection (); conn.ConnectionString = ("Provider = Microsoft.ACE.Oledb.12.0; Data Source = transportDateBase.accdb");
String Id = textID.Text;
String Name = textName.Text;
String Age = textAge.Text;
String City = textCity.Text;
OleDbCommand cmd = new OleDbCommand("INSERT into Drivers (Id, Name, Age, City) Values(@Id, @Name, @Age, @City)");
cmd.Connection = conn;
conn.Open();
if (conn.State == ConnectionState.Open)
{
cmd.Parameters.Add("@Id", OleDbType.VarChar).Value = Id;
cmd.Parameters.Add("@Name", OleDbType.VarChar).Value = Name;
cmd.Parameters.Add("@Age", OleDbType.VarChar).Value = Age;
cmd.Parameters.Add("@City", OleDbType.VarChar).Value = City;
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("New Driver Added");
conn.Close();
}
catch (OleDbException ex)
{
MessageBox.Show(ex.Source);
conn.Close();
}
Пожалуйста, помогите мне найти мою ошибку ..