c# asp.net 2.0 tableadapter 動態 dynamic sql語句

來源:互聯網
上載者:User

多條件搜尋網頁面,如果每個都寫,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;
    }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.