Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

sintaxe incorreta perto de 's'. aspas não fechadas após a cadeia de caracteres ')'


Os dados que você está inserindo provavelmente contêm caracteres especiais como aspas simples. Mude para uma consulta parametrizada para que os valores sejam escapados corretamente. Um bom exemplo e explicação é http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html .

[Editar:Adicionado um exemplo. ]

Por exemplo, substitua o conteúdo de sua primeira função por:
SqlCommand insertNewAreaPath = new SqlCommand(
    "INSERT INTO InterationPath (ID, NodePath) VALUES(@ID, @NodePath)",     
    conDS_ReleaseCriterions);
insertNewAreaPath.Parameters.Add("@ID", dr[0]);
insertNewAreaPath.Parameters.Add("@NodePath", dr[2]);
insertNewAreaPath.ExecuteNonQuery();