-1

メソッドにはいくつかのクエリがあります。条件に応じて、特定のクエリが実行されます。各クエリは同じパラメーターを使用します。

例えば:

public static void Method(param1, param2, param3)
{
   ....
   cmd.CommandType = CommandType.Text;
   if(Condition1)
   {
      cmd.CommandText = "select * from Table1 where id=@id"
      cmd.Parameters.AddWithValue("@id", param1);
      cmd.ExecuteNonQuery();

      foreach(int i in IntegerList)
      {
          ....
          cmd.CommandText = "insert into Table2(id,type,model) values(@id,@type,@model)
          cmd.Parameters.AddWithValue("@id", param1);
          cmd.ExecuteNonQuery();
          ....       
      }
   }
   else
   {
      cmd.CommandText="select * from Table3 where id = @id"
      cmd.Parameters.AddWithValue("@id", param1);   
      SqlDataAdapter da = new SqlDataAdapter();
      da.SelectCommand = cmd;
      DataSet ds = new DataSet();
      da.Fill(ds);
      cmd.Dispose();
      da.Dispose();
      ....
   }
   cmd.CommandText = "delete from Table3 where id = @id and model=@model..."
   ....

}

@id私の質問は、別のクエリを実行する必要があるたびにパラメーターを追加し続けるとエラーが発生するか、クエリの実行後にパラメーターが削除されるかということです。

4

2 に答える 2