1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public List<string> ObtenirSchemaDUne(string requete)
{
List<string> listeColonnes = new List<string>();
RequeteDynamique rd = new RequeteDynamique();
string REGEX_TABLE_NAME = @"SELECT\s+.*FROM\s+(?<tableName>[A-Za-z0-9_\.]+)";
Match m = Regex.Match(requete, REGEX_TABLE_NAME, RegexOptions.Multiline | RegexOptions.IgnoreCase);
for (int i = 0; i < m.Groups.Count; i ++)
{
string tableName = m.Groups["tableName"].Value;
using (SqlCeCommand command = new SqlCeCommand(rd.CreerRequeteStructure(tableName), _connection))
{
using (SqlCeDataReader reader = command.ExecuteReader())
{
listeColonnes.AddRange(ExecuterCommande(reader, command));
}
}
}
return listeColonnes;
} |