关于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)删除选中行,有一点每种不足就是没删除一条就要点击一下按钮,而第一种方法可以一次性删除多条数据。
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 }
再添加一个按钮叫做“保存更新” 代码:
这样就实现了全部功能。比较简单。
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 }
这样做的前提是,数据表必须设定主键。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Web アプリケーションの人気に伴い、リッチ テキスト エディターは Web 開発に不可欠なツールになりました。 Web 開発に Go 言語を使用する場合、Web サイトやアプリケーションを充実させるために、適切なリッチ テキスト エディター コントロールを選択する必要もあります。この記事では、Go 言語の Web 開発における一般的なリッチ テキスト エディター コントロールについて説明します。 FroalaEditorFroalaEditor は、Web 開発で広く使用されている人気のリッチ テキスト エディター コントロールです。現代性がある

Excel オフィス ソフトウェアを使用する場合、いくつかのコントロールを上手に使用できれば、Excel フォームでよりプロフェッショナルな効果を生み出すことができます。たとえば、選択コントロールを追加すると、フォーム入力者がフォームを簡単に入力できるようになります。以下では、Excel の選択コントロールの作成方法を説明します。 1. まず、空の Excel テーブルを作成して開きます。 2. 「開発ツール」タブを追加し、左上のファイルボタンをクリックして、「Excel オプション」を見つけます。その後、カスタムリボンのオプションで開発ツールを見つけて、チェックマークが付くようにチェックします。その前に現れます。 3. Excel の作業インターフェイスに戻ると、[開発ツール] タブが表示されます。

Ajax コントロールの深い理解: 一般的なものは何ですか?はじめに: 最新の Web 開発では、Web ページの部分的な更新を実現し、ユーザー エクスペリエンスを向上できる Ajax (非同期 JavaScript および XML) が一般的なテクノロジになっています。開発では、通常、開発プロセスを簡素化し、スピードアップするために Ajax コントロールを使用します。この記事では、Ajax コントロールについて詳しく説明し、いくつかの一般的なコントロールとその機能を紹介します。 1. jQueryAjax: jQueryA

パネル コントロールを使用する手順は、最初にパネル コントロールを作成し、その幅、高さ、背景色、境界線の色、境界線の幅とパディングを設定し、2 つのボタンを作成してパネル コントロールに追加し、最後にパネル コントロールを追加します。フォーム。

最近、ColorOS15 が内部ベータテストを開始し、一部のネットユーザーが関連インターフェイスを公開しました。上の写真でわかるように、一部のネットユーザーはアップグレード後の OPPO Find X7 の「このマシンについて」インターフェイスを投稿しました。 ColorOS15Betaでは、上部のパターンに大きな変更が加えられ、下半分の構成情報も以前の2列から1列の垂直分布に変更されました。添付されているのは、Huawei、Honor、Xiaomi、OPPO、vivo、Meizu の 6 つのブランドの携帯電話の最新バージョンの「この電話/携帯電話について」インターフェイスです。ColorOS 15 に関して、どのレイアウトが気に入っているか教えてください。以前のニュースでは、LivePhoto ライブ写真を広範囲にサポートすることに加えて、「AirDrop&

Web 標準コントロールの公開: 重要なインターフェイス要素の分析 はじめに: Web 標準コントロールは、Web デザインに不可欠な部分であり、ユーザーに豊かなインタラクティブなエクスペリエンスとフレンドリーなインターフェイスを提供し、重要な役割を果たします。この記事では、読者のためにいくつかの重要な Web 標準コントロールを明らかにし、その機能と使用方法を分析します。 1. ボタン コントロール ボタン コントロールは、Web インターフェイス設計において最も一般的かつ基本的な要素の 1 つであり、特定の操作をトリガーするために使用されます。通常、次の属性があります。 テキスト コンテンツ: ボタンに表示されるテキスト情報。スタイル

コントロールはデータとメソッドのカプセル化を指します。コントロールは独自のプロパティとメソッドを持つことができます。プロパティはコントロール データへの単純な訪問者であり、メソッドはコントロールの単純で目に見える機能です。コントロールの作成プロセスには、設計、開発、およびデバッグ ; コントロールを作成する最大の意義は、繰り返しの作業をカプセル化することであり、次に、既存のコントロールの機能を拡張することです。

システム再インストール時に環境テストに失敗し、書き換えが必要になる場合の解決方法:携帯電話が汚染されているため、ウイルス対策として Mobile Manager などのウイルス対策ソフトをインストールしてください 2. ジャンクが多いファイルは携帯電話内に保存されるため、携帯電話の実行メモリが占有されます。この問題を解決するには、電話機のキャッシュをクリアするだけです。3. 保存されたソフトウェアやファイルによって電話機のメモリが占有されすぎています。不要なファイルやソフトウェアを頻繁に削除しても問題ありません。ハードウェア構成がインストール要件を満たしている限り、次のことが可能です。新しいものを直接使用してください。システム ディスクからシステムを再インストールしてください。 USB フラッシュ ドライブまたはハードディスクを使用してインストールでき、非常に高速です。ただし、重要なのは、互換性の良いシステム ディスク (IDE、ACHI、および RAID モードでのインストールをサポート) を使用することであり、自動的かつ永続的にアクティブ化できることが検証されています。それで
