Как я могу выполнять функции с соответствующей операцией sql insert и update

#c# #mysql

#c# #mysql

Вопрос:

Я вставляю и обновляю данные из таблицы БД в другую таблицу БД. Для этого у меня есть 2 функции. Я хочу, чтобы этот элемент управления переходил к функции, основанной на операции sql.

Если я вставил данные в таблицу БД, то управление должно перейти к функции insert, если я обновляю данные таблицы БД, то управление должно перейти к функции update.

Может ли кто-нибудь помочь, как я могу написать условия здесь для достижения этого.

Большое спасибо

Код на C #

 //When service starts controls comes to this block
public ESS_VMint()
{
   dLib = new DataLibrary("ESS", false, out essStatus);
   dLib = new DataLibrary("VillageMate", false, out villagemateStatus);

   InsertFields();
   UpdateFields();
}

public DataTable InsertFields()
{
    //Insert operations
}

public DataTable UpdateFields()
{
   //Update Operations
}
  

Комментарии:

1. неясно, что вы имеете в виду. Похоже, вы хотите контролировать, выполняются ли InsertFields () или UpdateFields () в зависимости от некоторых критериев. Это правильно? Я предполагаю, что пользовательский интерфейс предоставит некоторое значение, которое сообщает вам, какой тип операции требуется? Или вы надеетесь, что код каким-то образом автоматически узнает? Если вы передаете объект из пользовательского интерфейса, возможно, вы можете проверить, есть ли у него уже идентификатор — если да, то (при условии, что вы используете поле идентификатора автоматического увеличения в вашей базе данных для идентификатора), это будет означать, что он уже существует, поэтому операция должна быть обновлением.

2. Вы можете использовать первичный ключ или идентификатор, чтобы решить, если первичный ключ равен 0, он должен вставить, в противном случае обновить.

3. ExecuteNonQuery() возвращает целое число, указывающее количество измененных строк. Итак, когда вы выполняете insert и получаете возвращаемое значение, равное нулю, это указывает на то, что первичный ключ уже находится в таблице, и вам нужно выполнить обновление. Когда вы выполняете обновление, а возвращаемое значение равно нулю, это указывает на то, что первичного ключа нет в таблице, и вам нужно выполнить вставку.

4. большое спасибо, я понял.