【问题标题】:How to classify SQL statements using C#?如何使用 C# 对 SQL 语句进行分类?
【发布时间】:2022-01-24 04:42:31
【问题描述】:

我想用 C# 执行几条 SQL 语句,并且我想对每一条语句进行分类。

例如,我将这段 SQL 代码存储在 String 变量中:

SELECT * FROM country;

CREATE VIEW getCountries AS SELECT * FROM country;

SELECT * FROM city;

我想得到这样的东西:

  1. 选择语句
  2. 创建视图语句
  3. 选择语句

有没有办法使用 C# 对每条语句进行分类?提前致谢。

【问题讨论】:

  • 你的意思是';'上拆分?当然:variable.Split(';')

标签: c# mysql .net nuget


【解决方案1】:

关于您的问题,您可以通过拆分; 来检查每个语句,然后检查每个语句:

using System;
using System.Collections.Generic;
                    
public class Program
{
    public static void Main()
    {
        List<string> myStatementTypes=new List<string>();
        string mySqlQueries=@"SELECT * FROM country;
                              CREATE VIEW getCountries AS SELECT * FROM country;
                              SELECT * FROM city;";
        var tokenizedQuery=mySqlQueries.Split(";");
        
        foreach(var item in tokenizedQuery)
        {
            //Console.WriteLine(item.Trim());
            if(item.Trim().StartsWith("select",StringComparison.InvariantCultureIgnoreCase))
            {
                myStatementTypes.Add("Select Statement");
            }
            else if(item.Trim().StartsWith("create",StringComparison.InvariantCultureIgnoreCase))
            {
                myStatementTypes.Add("Create Statement");
            }
        }

        foreach(var result in myStatementTypes)
        {
          Console.WriteLine(result);
        }
        
    }
}

工作示例:https://dotnetfiddle.net/x86b8l

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多