1、首先得到一個第二列不重復(fù)的一個查詢視圖:
創(chuàng)新互聯(lián)建站主營陸河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),陸河h5微信小程序開發(fā)搭建,陸河網(wǎng)站營銷推廣歡迎陸河等地區(qū)企業(yè)咨詢
select 第二列 from 數(shù)據(jù)表 group by 第二列
2、將不需要的記錄標(biāo)記為刪除:
for 從查詢試圖取一條記錄A
select * from 數(shù)據(jù)表 where 第二列=記錄A order by id
for
如果是第一個記錄,跳過繼續(xù)循環(huán)
否則更新第二列內(nèi)容為“刪除”
記錄指針移到下一條記錄
next
next
delete from 數(shù)據(jù)表 where 第二列=“刪除”
你是選中行,能獲取到該行的id號吧,然后你直接就執(zhí)行刪除數(shù)據(jù)庫記錄就行了 ,你可以把刪除寫個存儲過程,傳進(jìn)去id刪除該記錄,然后你重新對dataGridView進(jìn)行數(shù)據(jù)綁定就可以了
在前臺刪除處寫js代碼
if(confim("確定刪除?"))
{ //確定刪除的頁面?isdel=yes }
然后在后臺page_load獲取isdel的值,若為yes,則進(jìn)行刪除操作即可!
具體代碼很麻煩,不說了,提個思路:鼠標(biāo)點擊Grid控件時,提取這條記錄中具有唯一性的那一列的值,比如編號或身份證號等等(這個比較容易辦到),然后按“刪除”按鈕時,先用Sql語句刪除數(shù)據(jù)庫中的這條記錄,再重新填充一下這個DataGridView,就達(dá)到目的了。
這個你只能在gridview中添加一個復(fù)選框,也就是多選框,在列表外面也加一個多選框,加一個刪除按鈕,gridview中選擇了幾條信息 點擊刪除 就刪除了幾條,其中刪除按鈕中的代碼如下
#region 刪除
try
{
for (int i = 0; i this.GridView1.Rows.Count; i++)
{
CheckBox cb = this.GridView1.Rows[i].FindControl("cbcheck") as CheckBox; //cbCheck是gvlist中的單選按鈕
if (cb.Checked == true)
{
string sid = GridView1.DataKeys[i].Value.ToString();//得到編號
//刪除的sql語句和方法
string sqlstr = "update xinwen set isdelete=1 where id=@id";
Hashtable ht = new Hashtable();
ht.Add("@id", sid);
com.ExecuteSQL(sqlstr, ht);
}
}
setdata();
CheckBox cbAll = (CheckBox)GridView1.HeaderRow.Cells[1].FindControl("cbAll");
cbAll.Checked = false;
}
catch
{
}
#endregion
列表外面的多選框的代碼如下圖:
try
{
for (int i = 0; i = GridView1.Rows.Count; i++)
{
CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("cbcheck");//括號里面的CheckBox1這個是gridview中多選框的id
if (cball.Checked == true)
{
cb.Checked = true;
}
else
{
cb.Checked = false;
}
}
}
catch
{ }
希望你能看明白,這個只要你明白,把這代碼復(fù)制上去就ok了, 就是刪除中的sql語句和方法 要修改一下
Dim myConn As Data.OleDb.OleDbConnection
myConn = New System.Data.OleDb.OleDbConnection()
myConn.ConnectionString = strCon
myConn.Open()
Dim sqldel As String = "delete from Table where AAA='"datagridview1.CurrentRow.Cells(i).Value.ToString.Trim()"'
Dim del As OleDbCommand = New OleDbCommand(sqldel, myConn)
del.ExecuteNonQuery()
myConn.Close
然后再重新幫頂下datatable顯示一下就ok了