C# 从sql表绑定gridview,但此绑定不针对特定表,它会根据用户输入不断更改

C# 从sql表绑定gridview,但此绑定不针对特定表,它会根据用户输入不断更改,c#,asp.net,sql,sql-server-2008-r2,C#,Asp.net,Sql,Sql Server 2008 R2,我有一个名为TableExplorer的表,其中包含其他表的名称及其各自的列名 例如:TableCustomer可能有5列,但在TableExplorer中,我可能只提到5列中的2列 用户以查询字符串的形式向我发送表名,我的工作是查找表名,无论它是否存在于我最初提到的TableExplorer中。如果用户提到的表存在,那么我应该将该表绑定到gridview,该gridview应该具有编辑、删除、更新等功能。最后,用户进行的任何操作(如编辑、删除或更新)都应反映在用户提到的相应表格中 使用的数据库

我有一个名为TableExplorer的表,其中包含其他表的名称及其各自的列名

例如:TableCustomer可能有5列,但在TableExplorer中,我可能只提到5列中的2列

用户以查询字符串的形式向我发送表名,我的工作是查找表名,无论它是否存在于我最初提到的TableExplorer中。如果用户提到的表存在,那么我应该将该表绑定到gridview,该gridview应该具有编辑、删除、更新等功能。最后,用户进行的任何操作(如编辑、删除或更新)都应反映在用户提到的相应表格中

使用的数据库:SQL Server 2008 R2 编程语言:C、ASP.NET 提前感谢您的帮助。

您正在使用WebForms吗?我远非网络表单专家,但我会这样做:

您可以使用GridView控件创建不同的页面,每个页面对应于您可能要绑定的表,例如Customer表。您可以为此GridView、Insert、Update、Delete创建CRUD操作。您可以为用户可能需要的所有列创建参数,其中一些可能不可见

用户进入选择页面,选择表格和列列表,然后按提交请求。每当收到查询字符串时,您都要做两件事:

确定用户询问的表并加载正确的页面(如果可用)。也许您可以使用Ajax在特定的应用程序中只加载特定的GridView控件。或者你可以简单地加载另一个页面。 从查询字符串中获取用户希望在其网格中看到的列的列表。在向他显示网格之前,请保持这些列可见,并每隔一列从gridview中隐藏/删除。您还必须将此参数传递给insert/update方法。
我认为这是一个很好的解决方案,假设您没有数百个表的列表,我不会尝试创建完全动态的表。

您希望能够加载和绑定多少个表?感谢VLAN的建议。但我有超过92张桌子在我的要求。那么,有没有办法通过使所有内容通用来达到我的要求呢?我的意思是只有一个网页,一个gridview。