簡體   English   中英

插入的文本框和下拉列表值應使用c#asp.net存儲在數據庫中

[英]textbox and dropdown values inserted should store in database using c# asp.net

我有一個標簽容器,其中有4個標簽。 在名為“添加任務”的選項卡之一中,我得到了一些字段,例如

(任務名稱:-txtbox
客戶名稱:-drpdwn
開始日期:-txtbox wid日歷
截止日期:-txtbox日歷
說明: - txtbox
分配給:-drpdown
狀態: - drpdown
完成百分比:-drpdown)
最后是ADD和CANCEL按鈕。

在運行項目並將值插入上述字段時,我將單擊添加按鈕,並且在單擊按鈕后,值應存儲在我的數據庫中。 我的數據庫中已經有名為TASK的表。

請幫我提供后端代碼。

這是我的代碼

     protected void BtnAdd_Click(object sender, EventArgs e)
    {
        MTMSDTO objc = new MTMSDTO();

        int Flag = 0;

            objc.TaskName = Session["TaskName"].ToString();
            objc.ClientName = DrpClientName.SelectedItem.Text;
            objc.BeginDate = Convert.ToDateTime(TxtBeginDate.Text);
            objc.DueDate = Convert.ToDateTime(TxtDueDate.Text);
            objc.Description = Session["Description"].ToString();
            objc.AssignTo = DrpAssignTo.SelectedItem.Text;
            objc.Status = DrpStatus.SelectedItem.Text;
            objc.PercentageComplete = Convert.ToInt32(DrpPercentageComplete.Text);

            int X = obj.InsertTask(objc);
            {
                if (X >= 0)
                {
                    Flag = 1;
                }
                else
                {
                    Flag = 0;

                }
            }

            if (Flag == 1)
            {
                LblSuccess.Visible = true;
                LblSuccess.Text = "Data Added Successfully";
                Panel2.Visible = false;
            }
            else
            {
                LblErr.Visible = true;
                LblErr.Text = "Failed To Add Data!!!";
            }
        }

我使用分層架構,我在DAL CLASS的ACCESS文件中有此代碼

      public int InsertTask(MTMSDTO M)
    {
        DBAccess db = new DBAccess();

        SqlParameter objParam = new SqlParameter("@TaskID", M.TaskID);
        objParam.Direction = ParameterDirection.Output;

        db.Parameters.Add(new SqlParameter("@TaskName", M.TaskName));
        db.Parameters.Add(new SqlParameter("@ClientName", M.ClientName));
        db.Parameters.Add(new SqlParameter("@BeginDate", M.BeginDate));
        db.Parameters.Add(new SqlParameter("@DueDate", M.DueDate));
        db.Parameters.Add(new SqlParameter("@Description", M.Description));
        db.Parameters.Add(new SqlParameter("@AssignTo", M.AssignTo));
        db.Parameters.Add(new SqlParameter("@Status", M.Status));
        db.Parameters.Add(new SqlParameter("@PercentageComplete", M.PercentageComplete));
        db.Parameters.Add(objParam);

        int retval = db.ExecuteNonQuery("InsertTask");

        if (retval >= 1)
        {
            return int.Parse(objParam.Value.ToString());
        }
        else
        {
            return -1;
        }

    }

現在,已對代碼進行了編輯,但由於BtnAdd_Cick中的行(objc.TaskName = Session [“ TaskName”]。ToString();),出現錯誤,因為“對象引用未設置為對象的實例。”

您的BtnAdd_Click函數不應該是這樣的嗎? 您目前似乎沒有在調用InsertTask()函數。

protected void BtnAdd_Click(object sender, EventArgs e) {
    MTMSDTO m = new MTMSDTO();
    m.TaskName = TxtTaskName.Text;
    m.ClientName = DrpClientName.Text;
    m.BeginDate = TxtBeginDate.Text;
    m.DueDate = TxtDueDate.Text;
    m.Description = TxtDescription.Text;
    m.AssignTo = DrpAssignTo.Text;
    m.Status = DrpStatus.Text;
    m.PercentageComplete = DrpPercentageComplete.Text;

    InsertTask(m);
}

獲取后端的所有值並傳遞給此函數

public bool InsertRecord(string strTableName, string strColumn_Name, string strValues)
        {
 SqlConnection OBJCONNECTION;
            StringBuilder strbQuery;
            SqlCommand cmd;
            try
            {
OBJCONNECTION= new SqlConnection();
OBJCONNECTION.ConnectionString = ConfigurationManager.ConnectionStrings["Basic_ADO"].ConnectionString;//get connection string from web.config file
               OBJCONNECTION=
                strbQuery = new StringBuilder();
                strbQuery.Append("INSERT INTO ");
                strbQuery.Append(strTableName);
                strbQuery.Append("(" + strColumn_Name + ")");
                //strbQuery.Append(" VALUES");
                strbQuery.Append("(" + strValues + ")");
                cmd = new SqlCommand(strbQuery.ToString(), OBJCONNECTION);
                cmd.ExecuteNonQuery();
                return true;
            }
            catch (Exception ex) { throw ex; }
            finally { strbQuery = null; cmd = null;OBJCONNECTION.close();}

        }

暫無
暫無

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

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