У меня есть некоторые данные содержащие слова 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, не используя его по одному?
Похоже, что int.Parse(nama) - 1950 принесет вам пользу, и вам не нужно дублировать весь этот код. А еще лучше перепишите свои запросы, чтобы использовать параметры SQL.





Если у вас есть данные, находящиеся в фиксированном диапазоне с 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
}