2010-10-29 64 views

回答

0

有幾種方法可以做到這一點。首先,您可以添加一個從不同表格中提取的新查詢,然後執行該查詢的方法,只要列匹配它就可以工作。

如果您需要動態更改其中一個語句,您可以訪問表適配器的命令集合,但它是受保護的,所以最簡單的方法是創建一個部分類來擴展由設計師。一旦你這樣做,你可以添加你自己的方法來返回數據。您可以使用adapter.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(); 

      } 

     } 
    } 
} 
相關問題