Как вставить данные в базу данных с помощью автоматического оператора if?

У меня есть некоторые данные содержащие слова 1951-2015 и я хочу войти в базу с функциями если находятся данные содержащие слово 1951 то folder_id=1, если 1952 то folder_id=2, если 1953 то folder_id=3 и т.д.

Код:

if (nama == "1951")
{
    string K2013GUpdate = @"INSERT INTO undangundnag (folder_id,identifier,filename) SELECT 1 + namaFile ,'" + file1.FName +
    "' WHERE not exists (select folder_id AND identifier AND filename FROM undangundnag WHERE folder_id=1 and identifier='" + namaFile 
     AND filename='" + file1.FName)";
    K2013GQuery.Step();
}
else if (nama == "1952")
{
    string K2013GUpdate = @"INSERT INTO undangundnag (folder_id,identifier,filename) SELECT 2 + namaFile ,'" + file1.FName +
    "' WHERE not exists (select folder_id AND identifier AND filename FROM undangundnag WHERE folder_id=2 and identifier='" + namaFile 
     AND filename='" + file1.FName)";
    K2013GQuery.Step();
}
else if (nama == "1953")
{
    string K2013GUpdate = @"INSERT INTO undangundnag (folder_id,identifier,filename) SELECT 3 + namaFile ,'" + file1.FName +
    "' WHERE not exists (select folder_id AND identifier AND filename FROM undangundnag WHERE folder_id=3 and identifier='" + namaFile 
     AND filename='" + file1.FName)";
    K2013GQuery.Step();
}

Как автоматически вводить данные в базу данных с помощью оператора if, не используя его по одному?

Woo SQL-инъекция!
Llama 29.01.2019 04:47

Похоже, что int.Parse(nama) - 1950 принесет вам пользу, и вам не нужно дублировать весь этот код. А еще лучше перепишите свои запросы, чтобы использовать параметры SQL.

juharr 29.01.2019 04:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
40
1

Ответы 1

Если у вас есть данные, находящиеся в фиксированном диапазоне с 1952 по 2015 год, вы можете выполнить цикл внутри диапазона вместо использования оператора if, как показано ниже:

int folder_id=0;
for(int i=1951;i<=2015;i++){
  folder_id++;
 // if you want to execute your query for all the values in the range then you can omit this 'if' statement and write query inside loop.
  if (nama==i){
 // write your query here with the folder_id
    break;
   }
}

И если вы хотите передать определенные данные между 1952-2015 годами и хотите сгенерировать folder_id в соответствии с вашими требованиями, вы можете сделать, как указано ниже:

void getFolderID(nama){ //nama could be 1951 or 1955 or 1961....
int j=1950; // to get folder_id from 1951-2015
int folder_id=nama-j;
// write your query as desired below
}

Другие вопросы по теме