下面是通过存储过程把数据加载到 dataGridView2 中       
            SqlCommand sqlcomdgrd = new SqlCommand("PFetchlosscomfirmDetail", newconn.conn);
            sqlcomdgrd.CommandType = CommandType.StoredProcedure;
            sqlcomdgrd.Parameters.AddWithValue("@CommandType", 1);
            sqlcomdgrd.Parameters.AddWithValue("@Criteria", "serialno='" + lbNO.Text.Trim () +"'");
            DataTable dt = null;
            dt = new DataTable();
            sa = new SqlDataAdapter(sqlcomdgrd);
            sa.Fill(dt);
            sb = new SqlCommandBuilder(sa);
            bs.DataSource =dt;
            dataGridView2.DataSource = dt;
           
            dataGridView2.Columns[0].Visible = false;
            dataGridView2.Columns[1].Visible = false;下面是更新,因为dataGridView2会进行增行啊,修改啊!!
sa.Update((DataTable)bs.DataSource);当执行到这步时就出错了说 "对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成。"
我应怎么改,