如何使用自动if语句将数据插入数据库?

时间:2019-01-29 03:46:31

标签: c# database uwp

我有一些包含单词1951-2015的数据,如果要查找包含单词1951的数据,那么我想使用函数进入数据库,然后folder_id = 1,如果1952然后then folder_id = 2,如果1953然后then 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语句自动将数据输入数据库而不使用if一一对应?

1 个答案:

答案 0 :(得分:0)

如果您的数据驻留在1952年至2015年的固定范围内,则可以在该范围内循环,而无需使用if语句,如下所示:

SqlConnection conn = new SqlConnection();
conn.ConnectionString="data source=*;initial catalog=*;User ID=*;Password=*";
conn.Open();

SqlCommand sqlcmd = new SqlCommand(SqlString, conn);

SqlDataReader dr = sqlcmd.ExecuteReader();

如果您想在1952-2015年之间传递特定数据并想要根据您的要求生成folder_id,则可以执行以下操作:

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;
   }
}