多條件搜尋網頁面,如果每個都寫,5個條件,那就是25個add query,10個就是100個add query
TableAdapter 可以公開兩類方法:適合用於填充現有 DataSet 的 Fill 方法和返回已填充的 DataTable 對象的 Get 方法。前者更適合用於 Windows 用戶端(其中 DataSet 在應用程式的生存期內儲存在記憶體中),而後者(即 Get 方法)更適合用於 ObjectDataSource。
建立類檔案一個:(作用:添加tableadapter原始檔案,添加所需要的類)
namespace FernandoTableAdapters
{
public partial class OutRegisterTableAdapter
{
public virtual Fernando.OutRegisterDataTable GetDataBySearch(string searchSql)
{
this.Adapter.SelectCommand = new System.Data.OleDb.OleDbCommand(searchSql, this.Connection);
Fernando.OutRegisterDataTable dataTable = new Fernando.OutRegisterDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}
}
}
然後就和原來的操作一樣,開啟類檔案,添加方法:
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public Fernando.OutRegisterDataTable GetOutRegisterBySearch(string searchSql)
{
return Adapter.GetDataBySearch(searchSql);
}
最後進入頁面:
<asp:ObjectDataSource ID="OutRegisterDataSource" runat="server" SelectMethod="GetOutRegisterBySearch"
TypeName="OutRegister" OldValuesParameterFormatString="original_{0}" DeleteMethod="DeleteOutRegister"
UpdateMethod="LogOutOutRegister">
<SelectParameters>
<asp:Parameter Name="searchSql" Type="String" DefaultValue="SELECT * from OutRegister" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="outRegisterID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="outRegisterID" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
進入cs檔案:
protected void Button3_Click(object sender, EventArgs e)
{
string searchSql = "SELECT * from OutRegister where OutRegisterID=2";
OutRegisterDataSource.SelectParameters["searchSql"].DefaultValue = searchSql;
}