首頁 資料庫 mysql教程 关于DataGridView控件通过dataset直接更新数据库

关于DataGridView控件通过dataset直接更新数据库

Jun 07, 2016 pm 03:06 PM
datagridview dataset 關於 控制項 透過

今天做了一个小功能,对一个数据库表中的信息直接进行增、删、改操作,用到了DataGridView控件。 功能描述:窗体加载时,查询出表中的内容,并绑定到DataGridView中显示。可以对表中的数据进行增/删、改操作。 开始用到了比较麻烦的方法,为DataGridView添加

今天做了一个小功能,对一个数据库表中的信息直接进行增、删、改操作,用到了DataGridView控件。
功能描述:窗体加载时,查询出表中的内容,并绑定到DataGridView中显示。可以对表中的数据进行增/删、改操作。
  开始用到了比较麻烦的方法,为DataGridView添加了contextMenuStrip,提供了三种方法。比较麻烦。下面是一部分代码:

1 privatevoid 删除ToolStripMenuItem_Click(object sender, EventArgs e)
2 {
3 int[] row =newint[dataGridView1.SelectedRows.Count]; //存储选定的行的索引号
4  int[] id =newint[dataGridView1.SelectedRows.Count]; //存储选定行的id号 用于删除时查询的条件
5  int count = dataGridView1.SelectedRows.Count; //存储开始选定了的行数
6  for (int j =0; j dataGridView1.SelectedRows.Count; j++) //利用循环将选定的行索引存入row【】数组中
7   {
8 row[j] = dataGridView1.SelectedRows[j].Index;
9 }
10 for (int i =0; i count; i++) //利用循环
11 {
12
13 dataGridView1.CurrentCell = dataGridView1[0, row[i]]; //设置当前活动的单元格的索引是【0,row【i】】,即所有选定行的第一列的值(Att_Id)
14 id[i] =Convert.ToInt32(dataGridView1.CurrentCell.Value);
15
16 }
17 bool yesno=false;
18 if (MessageBox.Show("确定要删除吗","删除确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) == DialogResult.OK)
19 {
20 for (int s =0; s count; s++)
21 {
22 string sql ="Delete from Attributes where Att_Id=@att_id";
23 SqlParameter[] p =new SqlParameter[]{
24 new SqlParameter("@att_id",SqlDbType.Int)};
25 p[0].Value = id[s];
26 int val = (int)sqlhelper.delete(sql, p);
27 if (val >0)
28 {
29 yesno =true;
30 }
31 else
32 {
33 yesno =false;
34 break;
35 }
36
37 }
38 if (yesno ==true)
39 {
40 MessageBox.Show("删除成功!");
41 }
42 databind();
43 }
44 else
45 {
46
47 }
48 }

上面仅仅是删除这一项功能。所以非常麻烦!!

    于是,想到了另一种比较简单而且很直观的方法,利用SqlDataAdapter的update方法,直接在DataGridView中进行编辑(添加新数据、更改数据),只需给删除功能另加个按钮或者弹出菜单,datagridview1.Rows.RemoveAt(dataGridView1.CurrentRow.Index)删除选中行,有一点每种不足就是没删除一条就要点击一下按钮,而第一种方法可以一次性删除多条数据。

关于DataGridView控件通过dataset直接更新数据库关于DataGridView控件通过dataset直接更新数据库View Code

1 privatevoid leixing_Load(object sender, EventArgs e)
2 {
3
4 sqlhelper.conn.Open();
5
6 da =new SqlDataAdapter("Select Class_Id as '编号',Class_Type as '商品类型' from Class", sqlhelper.conn);
7 dt =new DataSet();
8 da.Fill(dt, "info");
9 dataGridView1.DataSource = dt.Tables[0];
10 //dataGridView1.DataMember = "info";
11 dataGridView1.Columns[0].Width =130;
12
13
14 sqlhelper.conn.Close();
15
16 }

再添加一个按钮叫做“保存更新” 代码:

这样就实现了全部功能。比较简单。

关于DataGridView控件通过dataset直接更新数据库关于DataGridView控件通过dataset直接更新数据库View Code

1 privatevoid baocun_Click(object sender, EventArgs e)
2 {
3
4
5 if (dt.HasChanges())
6 {
7 SqlCommandBuilder scmb =new SqlCommandBuilder(da);
8 da.Update(dt.Tables[0]);
9 dt.AcceptChanges();
10 }
11
12
13
14 }

这样做的前提是,数据表必须设定主键。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Go語言Web開發框架中常見的富文本編輯器控件 Go語言Web開發框架中常見的富文本編輯器控件 Jun 04, 2023 am 09:10 AM

隨著Web應用程式的普及,富文本編輯器成為Web開發中不可或缺的一個工具。而在使用Go語言進行網頁開發時,我們也需要選擇一個適合的富文本編輯器控制項來豐富我們的網站和應用程式。在本文中,我們將會探討Go語言Web開發常見的富文本編輯器控制項。 FroalaEditorFroalaEditor是一款流行的富文本編輯器控件,被廣泛應用於Web開發中。它具有現代化

excel控制項怎麼做 excel控制項怎麼做 Mar 20, 2024 am 09:40 AM

我們在使用excel辦公軟體的時候,如果能夠巧妙地使用一些控件,可以幫助我們在excel表格中做出比較專業的效果,例如添加選擇控件,可以使填表人員輕鬆的完成表格的填寫。下邊,我們就示範excel選擇控制的製作方法,希望對你有幫助! 1.首先,我們新建並開啟一個空白的excel表格。 2、新增“開發工具”選項卡,點擊左上側檔案按鈕,找到“Excel選項”,之後,我們在自訂功能區的選項內找到開發工具,勾選,使其前邊出現對號就可以。 3.回到excel工作介面,就可以看到「開發工具」選項卡了,一般情況,不

常見的Ajax控制項有哪些?深入了解其特點和功能 常見的Ajax控制項有哪些?深入了解其特點和功能 Jan 17, 2024 am 11:11 AM

深入了解Ajax控制:常見的有哪些?介紹:在現代Web開發中,Ajax(AsynchronousJavaScriptandXML)成為了一種流行的技術,它可以實現網頁局部刷新,提升使用者體驗。而在開發中,我們通常使用Ajax控制來簡化和加速我們的開發流程。本文將深入了解Ajax控件,介紹一些常見的控件及其功能。一、jQueryAjax:jQueryA

panel控制項怎麼用 panel控制項怎麼用 Oct 10, 2023 am 09:36 AM

panel控件的使用步驟是首先創建了一個Panel控件,並設定了其寬度、高度、背景顏色、邊框顏色、邊框寬度和內邊距,創建了兩個按鈕,並將它們添加到Panel控件中,最後將Panel控制項加入到窗體中。

ColorOS15 介面曝光 關於本機這裡大變 ColorOS15 介面曝光 關於本機這裡大變 Aug 28, 2024 pm 03:31 PM

近日ColorOS15率先開啟Beta內測,有網友曝光了相關介面,來看看如何~如上圖所見,有網友曬出了OPPOFindX7升級ColorOS15Beta後的「關於本機」介面,除了頂部圖案有大變外,下半部的配置資訊也從先前的兩列變成了全單列縱向分佈。附上華為、榮耀、小米、OPPO、vivo、魅族6家品牌手機現在最新版本下的“關於本機/手機”界面,大家可以來說說更喜歡哪家的佈局~具體關於ColorOS15,此前消息稱其除了大範圍支援LivePhoto實況照片外,還將"支援AirDrop&

揭秘必備的Web標準控制:深入解析介面元素 揭秘必備的Web標準控制:深入解析介面元素 Jan 13, 2024 pm 12:19 PM

Web標準控制項大揭秘:必備的介面元素解析導語:Web標準控制項是網頁設計中不可或缺的一部分,它們為使用者提供了豐富的互動體驗和友善的介面,具有重要的作用。本文將揭露幾種必備的Web標準控件,為讀者解析它們的功能和使用方法。一、按鈕控制按鈕控制是Web介面設計中最常見、最基礎的元素之一,用來觸發某種操作。它通常具有以下幾個屬性:文字內容:按鈕上顯示的文字訊息。樣式

如何分析DataSet物件及使用 如何分析DataSet物件及使用 May 16, 2023 am 11:55 AM

DataSet物件的概念:DataSet物件可以視為一個(Catch),它可以吧從資料庫中所查到的資料保留下來,甚至可以將整個資料庫暫存起來DataSet是資料在記憶體中的表示形式DataSet物件和數據來源的線上發生的很短暫,我們在取得資料後就立即和資料來源斷開了,等到資料修改完畢或是要操作資料來源內的資料才會再建立連線DataSet物件包含一組DataTable物件和DataRelation對象DataTable物件及使用DataTable物件是DataSet的重要物件之一,表示記憶體中的一個關係數

控制是什麼 控制是什麼 Oct 28, 2022 pm 03:51 PM

控制項是指資料和方法的封裝;控制項可以有自己的屬性和方法,其中屬性是控制項資料的簡單存取者,方法則是控制項的一些簡單而可見的功能、控制項建立過程包括設計、開發、偵錯;建立控制項的最大意義在於封裝重複的工作,其次是可以擴充現有控制項的功能。

See all articles