管理员批准/拒绝一份文件

时间:2013-11-04 20:14:10

标签: c# asp.net

我完成了批准/拒绝文件,但存在问题

假设在管理员登录时网格视图中有3个文档,并且只想批准/拒绝1个文档,即docid 81并单击“提交”按钮,然后将数据保存在数据库中

批准表

**seqno docid approveid  approveby**
79     14      3       john
80     16      3       john
81     17      2      john

但在我的代码中  当管理员批准/拒绝仅1(即81 docid)文档而管理员没有在其他两个工作时,然后管理员点击提交按钮然后其他两个文件数据也保存在批准(即79,80 docid)表..为什么这发生?

这里是提交按钮代码

protected void Button1_Click(object sender, EventArgs e)
    {

        string connStr = 
        ConfigurationManager.ConnectionStrings["mydms"].ConnectionString;
        SqlConnection mySQLconnection = new SqlConnection(connStr);
        if (mySQLconnection.State == ConnectionState.Closed)
        {
            mySQLconnection.Open();
        }

        foreach (GridViewRow row in GrdFileApprove.Rows)
        {

            if (row.RowType == DataControlRowType.DataRow)
            {
                DropDownList DropDownListcontrol = row.FindControl("DropDownList4") as
             DropDownList;
                SqlCommand cmd = new SqlCommand("approveddd", mySQLconnection);
                cmd.CommandType = CommandType.StoredProcedure;                
                cmd.Parameters.Add("@DocID", SqlDbType.Int).Value = 
              Convert.ToInt32((row.Cells[1].Text));
                cmd.Parameters.Add("@ApproveID", SqlDbType.Int).Value = 
               Convert.ToInt32(DropDownListcontrol.SelectedValue);
                cmd.Parameters.Add("@ApproveBy", SqlDbType.VarChar, 50).Value = 
               (Session["Login2"]);
                cmd.ExecuteNonQuery();
                DMSLIB.Doc myDoc = new DMSLIB.Doc();
                myDoc.MarkDocAs(Convert.ToInt16(row.Cells[1].Text), Convert.ToInt32(DropDownListcontrol.SelectedValue));


            }
            else
            {
                apfi.Text = "Error";
            }
        }


        if (mySQLconnection.State == ConnectionState.Open)
        {
            mySQLconnection.Close();
        }

任何帮助?

1 个答案:

答案 0 :(得分:0)

循环遍历所有行并为每个项目运行存储过程。