簡體   English   中英

c#DataTable從表中添加數據

[英]c# DataTable Adding Data from Table

我有一個要填充的數據表,但是其中一個字段是一個從數據庫連接派生的下拉列表。 當我單擊添加時,盡管我選擇了它,但始終添加相同的數據,然后從列表中刪除第一項。

ASPX代碼

<asp:TableCell><asp:DropDownList runat="server" ID="txtProduct"></asp:DropDownList></asp:TableCell>

下拉列表的CS代碼

public void Fill1()
{
    string connectionString = WebConfigurationManager.ConnectionStrings["CRM2Sage"].ConnectionString;
    using (SqlConnection _con = new SqlConnection(connectionString))
    using (SqlCommand cmd = new SqlCommand("SELECT * FROM Products", _con))
    {
        cmd.Connection.Open();

        SqlDataReader ddlValues;
        ddlValues = cmd.ExecuteReader();

        txtProduct.DataSource = ddlValues;
        txtProduct.DataValueField = "Description";
        txtProduct.DataTextField = "Description";
        txtProduct.DataBind();

        cmd.Connection.Close();
        cmd.Connection.Dispose();
    }
}

關於如何解決這個問題有什么想法嗎?

我認為您正在頁面加載中調用Fill1()方法。 當頁面為PostBack時,則在頁面加載事件中再次調用Fill1() ,您的選擇將被清除。 您需要在加載事件中做到這一點

if(!Page.IsPostBack)
{
   Fill1();
}

我認為您缺少SQL語句的WHERE部分以及將DropDownList選擇連接到SQL語句的方法。 就像是...

new SqlCommand("SELECT * FROM Products WHERE ProductID = " + txtProduct.SelectedValue , _con))

僅供參考:這僅用於說明,我永遠不會在一行代碼中放置兩個步驟,我將使用參數,並且會增加大量錯誤檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM