2014-07-04 2 views
-1

Je veux enregistrer une requête en tant que chaîne « variable nom » dans un fichier que -C# dynamique chaîne de requête Problème

SELECT Id FROM Object WHERE name = "+ VARIABLE_NAME + " 

et que vous souhaitez exécuter la requête comme -

public void executeQuery(String VARIABLE_NAME) 
{ 
    String query = ReadQuery(); // some method which reads queryfrom file. 

    ExecuteQuery(query); // value of VARIABLE_NAME should be included from parameter 

    } 

I vouloir variable La valeur doit être incluse dans le paramètre. Je ne peux pas l'utiliser comme ceci -

command.Parameters.AddWithValue ("@ VARIABLE_NAME", VARIABLE_NAME);

S'il vous plaît me fournir une solution.

Merci d'avance.

Note: Ceci est la requête SOQL, pas requête SQL.

+0

s'il vous plaît lire comment utiliser sqlplarameter, http://www.dotnetperls.com/sqlparameter –

+0

"* Je ne peux pas l'utiliser comme ça" * pourquoi? –

+0

@YuliamChandra - ce n'est pas simple requête SQL. C'est une requête soql donc nous ne pouvons pas l'utiliser comme ça. Merci. –

Répondre

0

Je suppose que votre problème n'a pas été entourant la chaîne de paramètres avec « ».

SOQL = "select x, y, z from Document where y='" + SOME_PARAMETER + "';"; 

Cependant, ceci est très vulnérable à l'injection SQL.

+0

Ceci est une requête SOQL, pas une requête SQL simple. –

+0

Alors êtes-vous à la recherche d'une alternative pour éviter l'injection SQL en utilisant les classes personnalisées de SOQL? – Moka

+0

SOQL est « langage de requête objet Salesforce » pour obtenir des données de Salesforce. C'est légèrement différent de SQL. –