데이터 베이스 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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Go 언어 웹 개발 프레임워크의 일반적인 서식 있는 텍스트 편집기 컨트롤 Go 언어 웹 개발 프레임워크의 일반적인 서식 있는 텍스트 편집기 컨트롤 Jun 04, 2023 am 09:10 AM

웹 애플리케이션의 인기로 인해 서식 있는 텍스트 편집기는 웹 개발에 없어서는 안 될 도구가 되었습니다. 웹 개발을 위해 Go 언어를 사용할 때 웹 사이트와 애플리케이션을 풍부하게 하기 위해 적합한 서식 있는 텍스트 편집기 컨트롤도 선택해야 합니다. 이 기사에서는 Go 언어 웹 개발에서 일반적인 서식 있는 텍스트 편집기 컨트롤에 대해 설명합니다. FroalaEditorFroalaEditor는 웹 개발에 널리 사용되는 인기 있는 서식 있는 텍스트 편집기 컨트롤입니다. 현대성이 있어요

엑셀 컨트롤을 만드는 방법 엑셀 컨트롤을 만드는 방법 Mar 20, 2024 am 09:40 AM

Excel 사무용 소프트웨어를 사용할 때 일부 컨트롤을 능숙하게 사용할 수 있으면 Excel 양식에서 보다 전문적인 효과를 만드는 데 도움이 될 수 있습니다. 예를 들어 선택 컨트롤을 추가하면 양식 필러가 양식을 쉽게 완성할 수 있습니다. 아래에서는 Excel 선택 컨트롤을 만드는 방법을 보여드리겠습니다. 도움이 되기를 바랍니다. 1. 먼저 빈 엑셀 테이블을 생성하고 엽니다. 2. "개발 도구"탭을 추가하고 왼쪽 상단의 파일 버튼을 클릭 한 후 "Excel 옵션"을 찾습니다. 그 후 사용자 정의 리본의 옵션에서 개발 도구를 찾아 확인 표시가 되도록 확인합니다. 그 앞에 나타납니다. 3. Excel 작업 인터페이스로 돌아가면 "개발 도구" 탭이 표시됩니다. 일반적으로 그렇지 않습니다.

패널 컨트롤 사용 방법 패널 컨트롤 사용 방법 Oct 10, 2023 am 09:36 AM

패널 컨트롤을 사용하는 단계는 먼저 Panel 컨트롤을 만들고 너비, 높이, 배경색, 테두리 색상, 테두리 너비 및 패딩을 설정하고 두 개의 버튼을 만들어 Panel 컨트롤에 추가한 다음 마지막으로 Panel 컨트롤을 형태.

일반적인 Ajax 컨트롤은 무엇입니까? 해당 기능에 대해 자세히 알아보십시오. 일반적인 Ajax 컨트롤은 무엇입니까? 해당 기능에 대해 자세히 알아보십시오. Jan 17, 2024 am 11:11 AM

Ajax 컨트롤에 대한 심층적인 이해: 일반적인 컨트롤은 무엇입니까? 소개: 현대 웹 개발에서 Ajax(비동기 JavaScript 및 XML)는 웹 페이지의 부분 새로 고침을 실현하고 사용자 경험을 향상시킬 수 있는 인기 있는 기술이 되었습니다. 개발 중에는 일반적으로 Ajax 컨트롤을 사용하여 개발 프로세스를 단순화하고 속도를 높입니다. 이 기사에서는 Ajax 컨트롤을 심층적으로 살펴보고 몇 가지 일반적인 컨트롤과 해당 기능을 소개합니다. 1. jQueryAjax: jQueryA

ColorOS15 인터페이스가 공개되었습니다. 이 기기에 대한 큰 변화는 다음과 같습니다. ColorOS15 인터페이스가 공개되었습니다. 이 기기에 대한 큰 변화는 다음과 같습니다. Aug 28, 2024 pm 03:31 PM

최근 ColorOS15가 내부 베타 테스트를 시작했습니다. 일부 네티즌이 어떻게 진행되는지 살펴보겠습니다. 위 그림에서 볼 수 있듯이 일부 네티즌은 업그레이드 후 OPPO Find X7의 "About This Machine" 인터페이스를 게시했습니다. ColorOS15Beta. 상단 패턴의 큰 변화에 더해, 하단의 구성 정보도 이전 두 열에서 단일 열 수직 분포로 변경되었습니다. 첨부된 내용은 Huawei, Honor, Xiaomi, OPPO, vivo 및 Meizu 등 6개 브랜드의 최신 버전 휴대폰에 대한 "이 휴대폰/휴대폰 정보" 인터페이스입니다. ColorOS 15와 관련하여 어떤 레이아웃이 더 마음에 드는지 알려주세요. 이전 뉴스에 따르면 LivePhoto 라이브 포토를 폭넓게 지원하는 것 외에도 "AirDrop&

필수 웹 표준 컨트롤 공개: 인터페이스 요소에 대한 심층 분석 필수 웹 표준 컨트롤 공개: 인터페이스 요소에 대한 심층 분석 Jan 13, 2024 pm 12:19 PM

웹 표준 컨트롤 공개: 필수 인터페이스 요소 분석 소개: 웹 표준 컨트롤은 사용자에게 풍부한 대화형 경험과 친숙한 인터페이스를 제공하며 중요한 역할을 합니다. 이 기사에서는 몇 가지 필수 웹 표준 컨트롤을 공개하고 독자를 위한 기능과 사용 방법을 분석합니다. 1. 버튼 컨트롤 버튼 컨트롤은 웹 인터페이스 디자인에서 가장 일반적이고 기본적인 요소 중 하나이며 특정 작업을 실행하는 데 사용됩니다. 일반적으로 다음과 같은 속성을 갖습니다. 텍스트 내용: 버튼에 표시되는 텍스트 정보. 스타일

컨트롤이란 무엇입니까? 컨트롤이란 무엇입니까? Oct 28, 2022 pm 03:51 PM

컨트롤은 데이터 및 메서드의 캡슐화를 의미합니다. 컨트롤은 고유한 속성과 메서드를 가질 수 있습니다. 여기서 속성은 컨트롤 데이터에 대한 단순한 방문자이고 메서드는 컨트롤의 간단하고 눈에 보이는 기능입니다. 그리고 디버깅; 컨트롤을 만드는 가장 큰 의미는 반복적인 작업을 캡슐화하고, 둘째, 기존 컨트롤의 기능을 확장하는 것입니다.

시스템 재설치 시 환경 감지 문제 해결 시스템 재설치 시 환경 감지 문제 해결 Jan 08, 2024 pm 03:33 PM

시스템 재설치 시 환경 테스트가 실패하고 다시 작성해야 하는 문제를 해결하는 방법: 휴대폰이 중독되었습니다. 2. 바이러스 백신용 모바일 관리자와 같은 바이러스 백신 소프트웨어를 설치할 수 있습니다. 파일이 휴대폰 내부에 저장되어 휴대폰의 실행 메모리를 점유하게 됩니다. 3. 저장된 소프트웨어와 파일이 휴대폰 메모리를 너무 많이 차지하므로 하드웨어 구성이 설치 요구 사항을 충족하는 한 불필요한 파일과 소프트웨어를 자주 삭제하는 것은 문제가 되지 않습니다. 새 것을 시스템 디스크에서 직접 다시 설치하십시오! USB 플래시 드라이브나 하드 디스크를 사용하여 설치할 수 있으며 이는 매우 빠릅니다. 하지만 핵심은 호환성이 좋고(IDE, ACHI, RAID 모드에서 설치 지원) 자동으로 영구적으로 활성화될 수 있는 검증된 시스템 디스크를 사용하는 것입니다. 그래서

See all articles