0
問題創建腳本。任何建議,特別是在C#中,都會有所幫助。提取表和列名使用C#
問題創建腳本。任何建議,特別是在C#中,都會有所幫助。提取表和列名使用C#
這工作:
String query = "CREATE TABLE [ dbo ] . [ worktype_template ] ([ worktype_key ] [ int ] NULL , [ template_key ] [ int ] NULL) ON [ PRIMARY ]";
query = query.Replace(" . ", ".");
query = query.Replace("[ ", "[");
query = query.Replace(" ]", "]");
// Selects what is between parenthesizes
String fieldsString = new String(query.SkipWhile(c => c != '(').TakeWhile(c => c != ')').ToArray());
// Selects the fields
String[] fields = fieldsString.Split(',').Select(line => new Regex("\\[\\w+\\]").Match(line).Value).ToArray();
// Selects table name
String tableName = new Regex("\\[\\w+\\](\\.\\[\\w+\\])*").Match(query).Value;
我希望它能幫助。
SQL通常更好地通過* parsing *來處理,而正則表達式通常不會達到解析的作用(它們可以用作例如詞法分析器的*部分*,作爲解析過程的一部分) –