Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多维数组上运行SQL的最快方法_C#_Sql - Fatal编程技术网

C# 在多维数组上运行SQL的最快方法

C# 在多维数组上运行SQL的最快方法,c#,sql,C#,Sql,我想用另一个数组中的多维字符串数组列名表示一个表,并使用SQL SELECT语句获取行的子集 问题是: 该表由用户每次输入不同的表 SQL也是由用户输入的 我是否需要: 在SQL中创建表 在SQL中填充表 查询表 或者这是一个更简单的解决方案?例如,将多维数组转换为数据表,然后在该对象上运行SQL 我想你可以用这个。它通常用于存储从数据库检索的数据,但您可以手动填充它。最好的部分是DataTable.Select方法,它允许您只编写查询的WHERE子句,它将返回匹配的行。您可以创建自己的表达式树

我想用另一个数组中的多维字符串数组列名表示一个表,并使用SQL SELECT语句获取行的子集

问题是:

该表由用户每次输入不同的表 SQL也是由用户输入的 我是否需要:

在SQL中创建表 在SQL中填充表 查询表
或者这是一个更简单的解决方案?例如,将多维数组转换为数据表,然后在该对象上运行SQL

我想你可以用这个。它通常用于存储从数据库检索的数据,但您可以手动填充它。最好的部分是DataTable.Select方法,它允许您只编写查询的WHERE子句,它将返回匹配的行。

您可以创建自己的表达式树来表示用户输入的查询。这就是Linq在引擎盖下的工作方式。如果你能给出一个你想要实现的例子,它可能也会帮助你用c为web编写应用程序

例如,如果您允许用户在某种GUI中输入新行到表中,那么您可以在datagrid中这样做,并启用列过滤器以实现上述结果


在web应用程序中,您可以在每个列的上方设置一个输入框,用户可以输入数据以过滤该列。

数据有多种格式,例如CSV、Tab/Return,但它们被转换为二维数组。所需功能的最小集合是:选择、位置、顺序和组。但是,我更希望对所有SQL查询(包括联接)提供完全支持。问题是,每次以编程方式添加一个表来执行单个查询似乎效率低下、复杂且缓慢。这可能是因为您想要做的有点复杂。你真的需要分组吗?这些功能中的大多数都可以通过Datagrid直接获得,我们在这里使用的Devexpress Grid也支持分组。这是我结合Starsignleo的评论所倾向的方向。我正在考虑将查询解析为不同的组件SELECT、WHERE、ORDER和GROUP。经过进一步研究:动态LINQ可能是一个更好的可能性。用户可以将LINQ作为字符串输入吗?