бритва asp.net в методах webmatrix sql - PullRequest
0 голосов
/ 28 февраля 2012

есть ли проблемы с (var query4), потому что он не показывает мне сообщения, но не может вставить данные в таблицу

@{
    var userId = Request["UserId"];
    var Type = Request["type"];
    var db = Database.Open("intranet");
    if(Type == "delete")
    {

    var query = "UPDATE Personne SET Demande = 'refuser' WHERE UserId = '" + userId + "'";
    db.Execute(query);

     var query2 = "DELETE from DemandeConge where UserId = '" + userId + "'";
    db.Execute(query2);
   }
    else if(Type == "accepte")
    {


        var query = "UPDATE Personne SET Demande = 'accepte' WHERE UserId = '" + userId + "'";
        db.Execute(query);

        var query2 = "DELETE from DemandeConge where UserId = '" + userId + "'";
        db.Execute(query2);


        var query4 = "INSERT INTO CongeAccept(UserId,DateDebut,DateFin,TypeConge) SELECT UserId,DateDebutDemande,DateFinDemande,TypeConge FROM DemandeConge WHERE UserId = '" + userId + "'";
        db.Execute(query4);
    }
}

и когда я делаю комментарий в этот код, он также работает:

   /* var query = "UPDATE Personne SET Demande = 'accepte' WHERE UserId = '" + userId + "'";
    db.Execute(query);

    var query2 = "DELETE from DemandeConge where UserId = '" + userId + "'";
    db.Execute(query2);*/


    var query4 = "INSERT INTO CongeAccept(UserId,DateDebut,DateFin,TypeConge) SELECT UserId,DateDebutDemande,DateFinDemande,TypeConge FROM DemandeConge WHERE UserId = '" + userId + "'";
    db.Execute(query4);
} 

1 Ответ

0 голосов
/ 28 февраля 2012

Вы удаляете из DemandeConge все, что касается пользователя, которого вы хотите вставить в CongeAccept, поэтому при попытке выполнить запрос вставки нечего там вставлять.Измените порядок ваших утверждений и используйте параметры:

@{
    var userId = Request["UserId"];
    var Type = Request["type"];
    var db = Database.Open("intranet");
    if(Type == "delete")
    {

    var query = "UPDATE Personne SET Demande = 'refuser' WHERE UserId = @0";
    db.Execute(query, userId);

     var query2 = "DELETE from DemandeConge where UserId = @0";
    db.Execute(query2, userId);
   }
    else if(Type == "accepte")
    {
        var query = "UPDATE Personne SET Demande = 'accepte' WHERE UserId = @0";
        db.Execute(query, userId);

        var query4 = "INSERT INTO CongeAccept(UserId,DateDebut,DateFin,TypeConge) SELECT UserId,DateDebutDemande,DateFinDemande,TypeConge FROM DemandeConge WHERE UserId = @0";
        db.Execute(query4, userId);

        var query2 = "DELETE from DemandeConge where UserId = @0";
        db.Execute(query2, userId);
    }
}
...