Mike V Baker
Запрос должен выглядеть примерно так
"update mysqlcshap.Fahrzeug set Status='1';"
Однако это будет обновляться
все записи в базе данных, которые, вероятно, не то, что вы хотите. Вероятно, вы хотите обновить конкретную запись, и для этого вам нужно предложение WHERE
"update mysqlcshap.Fahrzeug set Status='1' WHERE Id=1234;"
Это предполагает, что у вас есть значение первичного ключа в вашей таблице, и его имя - "Id". Конечно, вам нужно знать, что такое идентификатор, чтобы сделать это.
Иногда можно создать поля, которые являются зарезервированными словами. Я не помню, является ли "статус" одним из них, но просто на всякий случай оберните имена полей в [].
Вы используете ExecuteReader. Этот запрос ничего не возвращает, так что читать нечего. Используйте ExecuteNonQuery для выполнения команды, которая не читается.
Ваша строка подключения нуждается в исправлении (см.
этот. Я не вижу аргумента "база данных", возможно, это mysqlcshap?
Обычно я заключаю свое соединение в оператор using. Сложите все это вместе и вот что я придумал
private void pictureBox1_Click(object sender, EventArgs e)
{
System.IO.Stream str = Properties.Resources.commander_5;
System.Media.SoundPlayer snd = new System.Media.SoundPlayer(str);
snd.Play();
label1.Text = "S1";
string constring = "datasource=123.456.678;Database=mysqlcshap;port=3306;User Id=1234;Password=1234";
string query = "update Fahrzeug set [Status]='1' WHERE Id=1234;";
using (MySqlConnection Dateneingabe = new MySqlConnection(constring))
{
MySqlCommand cmd = new MySqlCommand(query, Dateneingabe);
try
{
Dateneingabe.Open();
cmd.ExecuteNonQuery();
Dateneingabe.Close();
}
catch (Exception ex)
{
// DO SOMETHING WITH THE EX HERE!!
}
}
}
ХТХ, Майк