Je voudrais construire dynamiquement la clase d'une instruction sql à partir de hashtable en C#.Comment créer une clause where dans SQL Server?
La clé de la table hash_table sera le nom de la colonne à insérer et la valeur de hash_table sera la valeur.
string sql_1="SELECT COL_1,COL_2 FROM MY_TABLE";
string sql_2="SELECT * FROM MY_TABLE WHERE COL_3='ABC'"; //note: some statment have where clause while some do NOT have.
string sql= ToSql(sql_1,myHashTable); // the actual sql statment will be returned from ToSql
//execute sql
sql= ToSql(sql_2,myHashTable); //
//execute sql
Ma question est, comment puis-je créer la fonction fonction ToSql() dans LINQ?
REMARQUE: Le type de données de la valeur de hashtable sera pris en compte.
Merci d'avance.
Merci pour la suggestion. Mais, je pense, en utilisant des requêtes paramétrées n'est pas possible pour moi parce que, le nombre de paramètres sera passé ne peut être connu qu'à l'exécution, ce qui nécessitera des codes supplémentaires.Par ailleurs, est-il possible d'accéder à Hashtable dans LINQ? – Kai
@Kai, la requête paramétrée est toujours une requête personnalisée à l'exécution; cela vous évite simplement d'essayer d'échapper correctement aux paramètres, ce qui est une technique de sécurité très utile. –
@ Trader W.Craig, Merci de me corriger.Mais, j'ai déjà eu la fonction qui peut gérer cela, et je dois passer juste la déclaration SQL à cela. – Kai