В трехуровневой архитектуре, заполнение значений текстового поля из таблицы базы данных - PullRequest
0 голосов
/ 13 апреля 2019

Может кто-нибудь помочь мне с этим?Используя трехуровневую архитектуру, как извлекать данные непосредственно из таблицы базы данных в текстовые поля, когда я нажимал кнопку выбора в представлении сетки, у меня есть таблица в базе данных SQL. При нажатии на кнопку выбора ссылки в представлении сетки, необходимо выбрать значения выбранных строкиз таблицы базы данных в текстовые поля и должны быть заполнены соответствующими значениями в соответствии с таблицей базы данных. Я использовал sqldatareader, взятый OnSelectedIndexChanged, письменный запрос в хранимой процедуре для выбора выбранной строки, но значения не привязаны к текстовым полям. Любые предложения будут полезны.

DAL:

public DataTable FetchDetails(string pid, string pname,string pcid, string sdesc, string desc, string qty, string prce, string len)
    {
    var a = new ArrayList();
        SqlCommand cmd = new SqlCommand("spfetchdetail", con);
        con.Open();
        cmd.ExecuteNonQuery();            
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@pid", pid);
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        SqlDataReader sdr = cmd.ExecuteReader();
        while (sdr.Read())
        {
            pid = sdr["P_id"].ToString();
            pname = sdr["P_name"].ToString();
            pcid = sdr["c_name"].ToString();
            sdesc = sdr["P_shortdesc"].ToString();
            desc = sdr["P_desc"].ToString();
            qty = sdr["P_qty"].ToString();
            prce = sdr["P_price"].ToString();
            len = sdr["P_length"].ToString();
     a.Add(pid); a.Add(pname); a.Add(pcid); a.Add(sdesc); a.Add(desc); a.Add(qty); a.Add(prce); a.Add(len);
        }
        return dt;
    }

BAL:

public object fetchdetail(string pid, string pname, string pcid, string sdesc, string desc, string qty, string prce, string len)
    {
        return dll.FetchDetails(pid, pname, pcid, sdesc, desc, qty, prce, len);
    }

CS:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    string pid = ""; string pname = ""; string pcid = ""; string sdesc = ""; string desc = ""; string qty = ""; string prce = ""; string len = "";
    bll.fetchdetail(pid, pname, pcid, sdesc, desc, qty, prce, len);
    HiddenField1.Value = pid;
    txt_proName.Text = pname;
  ddl_category.SelectedValue = pcid;
    txt_sdesc.Text = sdesc;
    txt_ldesc.Text = desc;
    txt_qnty.Text = qty;
    txt_price.Text = prce;
    txt_len.Text = len;} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...