怎么让datagridview第二次查询时把第一次查询的结果去除掉

也许是因为我用了循环写SQL语句所以当我第二次查询时有第一次查询时留下的数据,所以求各位大佬帮帮忙,怎么才能让第一次查询的数据不再出现
m.ISBN = txtisbn.Text;
m.CATALOGID = Int32.Parse(txtcatalogid.Text);
m.H_ID = Int32.Parse(txthid.Text);

            SqlConnection conncxs = new SqlConnection(str);
            conncxs.Open();
            string sql3 = string.Format("select   d.Id, d.ISBN,d.ShuMing,d.DingJia, c.[高职],c.[中职],c.[职业教育],c.[成人教育],c.[中学],c.[小学],c.[少儿],c.[教材],c.[教辅],c.[试卷],c.[挂图],c.[活页],c.[散页],c.[附磁带],c.[大开本],c.[小开本],c.[影印版], c.[英文版],c.[经折装],c.[线装],c.[袋装],c.[工具书],c.[外文版],c.[少数民族语言],c.[纯光盘],c.[套书不单卖],c.[100页以内],c.[习题集],c.[盒装],c.[150页以内],c.[50页以内],c.[100元以上], d.ChuBanShe,b.chubanriqi,b.h_id,d.CATALOGID  from(SELECT  T.* FROM (SELECT H_ID,B_ID,ISBN9,[buyaoshu_type].leixing,[BookType] FROM [newdaku].[dbo].[db_bookinfo_BookType](nolock) left join [huizong].[dbo].[buyaoshu_type](nolock) ON [db_bookinfo_BookType].BookType = [buyaoshu_type].id )AS P PIVOT (max([BookType]) FOR P.[leixing] IN ([高职],[中职],[职业教育],[成人教育],[中学],[小学],[少儿],[教材],[教辅],[试卷],[挂图],[活页],[散页],[附磁带],[大开本],[小开本],[影印版],[英文版],[经折装],[线装],[袋装],[工具书],[外文版],[少数民族语言],[纯光盘],[套书不单卖],[100页以内],[习题集],[盒装],[150页以内],[50页以内],[100元以上])) AS T )  c  inner join [newdaku].[dbo].[db_bookInfo_BianMu] a on a.H_Id=c.H_ID inner join [newdaku].[dbo].[db_bookInfo_Base] b  on b.h_id=c.H_ID inner join [SystemDataHuanCun].[dbo].[BianMu_BaseInfo] d on d.ShuMing=b.shuming where b.isbn = '{0}'  and CATALOGID ={1} and c.H_ID ={2} ", m.ISBN, m.CATALOGID, m.H_ID);
            string sql4 = " and (";

            for (int i = 0; i < ckcomyaoqo.CheckBoxItems.Count; i++)
            {
                if (ckcomyaoqo.CheckBoxItems[i].Checked)
                {
                    PresentationControls.ObjectSelectionWrapper<Booktype> item = (PresentationControls.ObjectSelectionWrapper<Booktype>)ckcomyaoqo.Items[i];

                    sql4 += " c.[" + item.Item.key + "] is not null or";
                }
            }



            if (sql4 != " and (")
            {

                sql4 = sql4.Remove(sql4.LastIndexOf("or")) + " )";

                string sql5 = sql3 + sql4;

                SqlCommand comm = new SqlCommand(sql5, conncxs);
                SqlDataAdapter ader = new SqlDataAdapter(comm);
                // DataTable dt = new DataTable();
                ader.Fill(ds);
                // dgvshow.DataSource = dt;
                dtInfo = ds.Tables[0];
                InitDataSet();

                //将空值显示为无
                dgvshow.DefaultCellStyle.NullValue = "无";

            }

datagridview1.Rows.Clear();

不再出现什么意思?是第一次查到的数据在下一次不再包含到其中,还是说什么?

就是1楼说的,在第二次插入数据的时候做一遍清空datagridview1就好了,datagridview1.Rows.Clear();