Asp.net 以编程方式更改.net强类型数据集中的表名

Asp.net 以编程方式更改.net强类型数据集中的表名,asp.net,strongly-typed-dataset,Asp.net,Strongly Typed Dataset,嗨 我使用.NETFramework 3.5中的强类型数据集开发了一个应用程序。 是否有方法以编程方式更改tableadapter的源表? thnx有几种方法可以做到这一点。首先,您可以添加一个从不同表中提取的新查询,然后执行该查询的方法,只要列匹配就行 如果您需要动态更改可以访问表适配器的命令集合的语句之一,那么它是受保护的,因此最简单的方法是创建一个分部类来扩展设计器生成的分部类。完成此操作后,您可以添加自己的方法来返回数据。您可以使用适配器.CommandCollection[0].Com

嗨 我使用.NETFramework 3.5中的强类型数据集开发了一个应用程序。 是否有方法以编程方式更改tableadapter的源表?
thnx

有几种方法可以做到这一点。首先,您可以添加一个从不同表中提取的新查询,然后执行该查询的方法,只要列匹配就行

如果您需要动态更改可以访问表适配器的命令集合的语句之一,那么它是受保护的,因此最简单的方法是创建一个分部类来扩展设计器生成的分部类。完成此操作后,您可以添加自己的方法来返回数据。您可以使用适配器.CommandCollection[0].CommandText获取并设置所创建的默认GetData命令的SQL

完成此操作后,您可以对其进行更改、清除参数、添加新参数或执行任何操作,然后使用更改后的SQL设置CommandText,并调用GetData或任何您命名的命令,命令将照常执行并返回

下面是一个代码示例:

using System.Data.SqlClient;
namespace DataTableAdapters
{
    public partial class Data_ItemTableAdapter
    {

        public Data.Data_ItemDataTable GetDynamicExample(string SearchValue)
        {

            using (Data_ItemTableAdapter a = new Data_ItemTableAdapter())
            {
                SqlCommand cmd = a.CommandCollection[0];
                cmd.Parameters.Clear();
                string SQL = @"Select Data_Item_ID, Data from Data_Item where
                        SearchValue = @SearchValue";
                cmd.CommandText = SQL;
                cmd.Parameters.AddWithValue("@SearchValue", SearchValue);
                return a.GetData();

            }

        }
    }
}