簡體   English   中英

如何綁定GridView?

[英]how to bind the gridview?

將表格之一綁定到GridView時出現問題。 我嘗試了一切,但沒有任何幫助。 我有一個搜索按鈕,我希望它向我顯示搜索結果,並且有一個DropDownList綁定到另一個表。

這是代碼:

SqlConnection my_cn = new SqlConnection("Data Source=NIMA-PC;Initial Catalog=PDFha;Integrated Security=True");
my_cn.Open();
SqlCommand cmd = new SqlCommand("SELECT Books.Name,Books.Subject,Books.PublisherName,Books.Summery FROM Books WHERE (Books.Subject= '" + subList.SelectedValue.ToString() + "') AND (Books.Name= '" + searchName.Text + "')", my_cn);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
DataTable dt = ds.Tables[0];
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()==true)
{
   GridView1.DataSource = dt;
}
my_cn.Close();

當我單擊按鈕時什么也沒有發生,我知道我的C#代碼有問題,但是我無法識別它。 感謝任何評論。

試試這個:-您缺少DataBind方法,除此之外,我不知道您為什么再次調用DataReader ,也刪除了該代碼。 另外,請使用參數化查詢來防止SQL注入 像這樣的東西: cmd.Parameters.AddWithValue()

SqlConnection my_cn = new SqlConnection("Data Source=NIMA-PC;Initial Catalog=PDFha;Integrated Security=True");
my_cn.Open();
SqlCommand cmd = new SqlCommand("SELECT Books.Name,Books.Subject,Books.PublisherName,Books.Summery FROM Books WHERE (Books.Subject= '" + subList.SelectedValue.ToString() + "') AND (Books.Name= '" + searchName.Text + "')", my_cn);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
DataTable dt = ds.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
my_cn.Close();

這應該是正確的代碼

SqlConnection my_cn = new SqlConnection("Data Source=NIMA-PC;Initial Catalog=PDFha;Integrated Security=True");
my_cn.Open();
SqlCommand cmd = new SqlCommand("SELECT Books.Name,Books.Subject,Books.PublisherName,Books.Summery FROM Books WHERE (Books.Subject= '" + subList.SelectedValue.ToString() + "') AND (Books.Name= '" + searchName.Text + "')", my_cn);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
DataTable dt = ds.Tables[0];
//Modified start
//You don't need SQLReader, While loop
GridView1.DataSource = dt;
GridView1.DataBind();
//Modified End
my_cn.Close();
while (dr.Read()==true)
    {
        GridView1.DataSource = dt;
        GridView1.DataBind();

    }

你錯過了

GridView1.DataBind();

暫無
暫無

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

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