C# 在多维数组上运行SQL的最快方法
我想用另一个数组中的多维字符串数组列名表示一个表,并使用SQL SELECT语句获取行的子集 问题是: 该表由用户每次输入不同的表 SQL也是由用户输入的 我是否需要: 在SQL中创建表 在SQL中填充表 查询表C# 在多维数组上运行SQL的最快方法,c#,sql,C#,Sql,我想用另一个数组中的多维字符串数组列名表示一个表,并使用SQL SELECT语句获取行的子集 问题是: 该表由用户每次输入不同的表 SQL也是由用户输入的 我是否需要: 在SQL中创建表 在SQL中填充表 查询表 或者这是一个更简单的解决方案?例如,将多维数组转换为数据表,然后在该对象上运行SQL 我想你可以用这个。它通常用于存储从数据库检索的数据,但您可以手动填充它。最好的部分是DataTable.Select方法,它允许您只编写查询的WHERE子句,它将返回匹配的行。您可以创建自己的表达式树
或者这是一个更简单的解决方案?例如,将多维数组转换为数据表,然后在该对象上运行SQL 我想你可以用这个。它通常用于存储从数据库检索的数据,但您可以手动填充它。最好的部分是DataTable.Select方法,它允许您只编写查询的WHERE子句,它将返回匹配的行。您可以创建自己的表达式树来表示用户输入的查询。这就是Linq在引擎盖下的工作方式。如果你能给出一个你想要实现的例子,它可能也会帮助你用c为web编写应用程序 例如,如果您允许用户在某种GUI中输入新行到表中,那么您可以在datagrid中这样做,并启用列过滤器以实现上述结果
在web应用程序中,您可以在每个列的上方设置一个输入框,用户可以输入数据以过滤该列。数据有多种格式,例如CSV、Tab/Return,但它们被转换为二维数组。所需功能的最小集合是:选择、位置、顺序和组。但是,我更希望对所有SQL查询(包括联接)提供完全支持。问题是,每次以编程方式添加一个表来执行单个查询似乎效率低下、复杂且缓慢。这可能是因为您想要做的有点复杂。你真的需要分组吗?这些功能中的大多数都可以通过Datagrid直接获得,我们在这里使用的Devexpress Grid也支持分组。这是我结合Starsignleo的评论所倾向的方向。我正在考虑将查询解析为不同的组件SELECT、WHERE、ORDER和GROUP。经过进一步研究:动态LINQ可能是一个更好的可能性。用户可以将LINQ作为字符串输入吗?