protected void InsertSection(object sender, EventArgs e) { int pos = 0; string idArg = ddl3.SelectedItem.Value; DbController control = new DbController(connectionString); QueryParameter[] parameters = new QueryParameter[4]; parameters[0] = new QueryParameter("nome", tb1.Text, SqlDbType.VarChar); parameters[1] = new QueryParameter("code", CKEditor1.Text, SqlDbType.VarChar); parameters[2] = new QueryParameter("id", idArg, SqlDbType.Int); if (cb.Checked) { SqlDataReader reader = control.Read("SELECT TOP 1 Posizione FROM Sezione WHERE IdArgomento=@idA ORDER BY Posizione DESC", new QueryParameter[] { new QueryParameter("idA", idArg, SqlDbType.Int) }); pos = 0; if (reader.Read()) { pos = (int)reader["Posizione"] + 1; } parameters[3] = new QueryParameter("pos", pos, SqlDbType.Int); reader.Close(); control.Write("INSERT INTO Sezione (Nome,HtmlCode, IdArgomento, Posizione) VALUES (@nome, @code, @id, @pos)", parameters); } else { pos = int.Parse(tb2.Text); parameters[3] = new QueryParameter("pos", pos, SqlDbType.Int); control.Write("UPDATE Sezione SET Posizione += 1 WHERE Posizione >= @pos", new QueryParameter[] { new QueryParameter("pos", pos, SqlDbType.Int) }); control.Write("INSERT INTO Sezione (Nome,HtmlCode, IdArgomento, Posizione) VALUES (@nome, @code, @id, @pos)", parameters); } control.Close(); CKEditor1.Text = ""; tb1.Text = ""; tb2.Text = ""; populateGroup(ddl1, ddl2, ddl3, ddl4); }