Синтаксис SQL команда вставки, используя в бритве Webmatrix - PullRequest
1 голос
/ 28 февраля 2012

Есть ли проблемы с этим синтаксисом SQL

  @{
var userId = Request["UserId"];
     var db = Database.Open("intranet");
    var query3 = "INSERT INTO CongeAccept(UserId,DateDebut,DateFin,TypeConge) SELECT UserId,DateDebutDemande,DateFinDemande,TypeConge FROM DemandeConge WHERE UserId = '" + userId + "'";
            db.Execute(query3); }

1 Ответ

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

есть ли проблема с этим синтаксисом sql

Это во многом зависит от того, откуда исходит идентификатор пользователя. Если его пользователь предоставил, вы открываете себя для атаки SQL-инъекцией

Вместо этого вы должны использовать параметры. В качестве дополнительного бонуса вам не нужно беспокоиться о размещении кавычек вокруг значений.

 var query3 = @"INSERT INTO CongeAccept(UserId,DateDebut,DateFin,TypeConge) 
               SELECT UserId,DateDebutDemande,DateFinDemande,TypeConge 
               FROM DemandeConge 
               WHERE UserId = @0";
 db.Execute(query3, userId ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...