Je dois écrire RegEx en C# pour analyser la requête de jointure SQL qui est donnée en tant que chaîne. Quelqu'un peut-il m'aider s'il vous plaît parce que je suis nouveau à ce sujet. Merci beaucoupRegEx pour analyser la requête SQL en C#
c'est mon problème:
string query = @"SELECT table1.column1, table1.column2, table2.coulmn1, table2.column2
FROM table1 INNER JOIN table2 ON table1.column5 = table2.column5";
ce que je dois en fait est de mettre toutes les données importantes dans des variables distinctes, comme ceci:
string class1 = table1
string class2 = table2
string joinForeignKey1 = table1.column5
string joinForeignKey2 = table2.column5
List<string> attributes1 = table1.column1, table1.column2
List<string> attributes2 = table2.column1, table2.column2
// COMMENTAIRE
Je me suis rendu compte que j'ai fait une erreur dans sql query donc il y aura une clause ON.
Je peux forcer un utilisateur à me fournir la bonne syntaxe, donc ce ne sera pas un problème. La chose que je n'ai pas mentionnée est qu'il peut y avoir plus d'une clause JOIN ON (plusieurs jointures).
Merci beaucoup et j'apprécierai n'importe quelle aide.
Toutes les requêtes seront-elles exactement dans ce format? Y aura-t-il une possibilité que des commentaires puissent exister dans les tables sources ou dérivées ou dans d'autres constructions qui gâcheraient les choses? Edit: Je viens de remarquer que ce que vous avez posté n'est pas valide SQL de toute façon. Il manque une clause 'ON'. –
SQL est # 3 sur la liste des choses que vous ne devriez pas essayer d'analyser avec un Regex, juste derrière [HTML] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml- étiquettes autonomes/1732454 # 1732454) et [MUMPS] (http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx). Utilisez un analyseur SQL spécifique au dialecte, pas une regex. –
@martin - Sa requête est valide SQL, n'utilisant simplement pas la norme ANSI la plus courante pour les jointures. –