博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4-2 ADO.NET-查询和检索数据9
阅读量:6628 次
发布时间:2019-06-25

本文共 2979 字,大约阅读时间需要 9 分钟。

4-3-2  DataGridview控件创建的案例教学

1.案例学习:DataGridview基本的数据操作

本实验目标是通过本案例您将学习了解到:
n DataGridView
的数据绑定技术;
n DataGridView
的更新和删除技术。
用户界面如图4-60所示:
图4-60  DataGridview
基本的数据操作应用程序界面图
u
实验步骤(1):
VS.NET
 2005
中新建一个名为示例4的基于 Windows
的项目。将默认窗体重命名为 form9
. cs
u
实验步骤(2):
从工具箱之中拖拽一个 dataGridView
控件到 Form
窗体, ColumnHeadersHeightSizeMode
属性设置为“ AutoSize
”;另外还要向 Form
窗体下侧添加二个 Button
控件, text
属性分别设置为“更改”、“删除”。
u
实验步骤(3):
数据库的设计参见图4-61:
4-61  数据库设计图
数据库为 school
,共有六个表,该应用程序中只使用了表 student
。具体字段设计情况请参见图4-79。数据表 student
中可以先存放一部分数据,便于后面处理。数据库环境是 SQL
  Server
 2005
u
实验步骤(4):
用鼠标双击所有 Button
控件,进入. cs
文件编辑状态准备进行开发。代码加下:
//==========
动态程序设计部分================
using
 System;
using
 System.Collections.Generic;
using
 System.ComponentModel;
using
 System.Data;
using
 System.Data.SqlClient;
using
 System.Drawing;
using
 System.Text;
using
 System.Windows.Forms;
 
namespace
 WindowsApplication1
{
    public partial class Form9 : Form
    {
        private SqlConnection mycon;
        private SqlDataAdapter myada;
        private SqlCommand mycomd;
        private SqlCommandBuilder mycbd;
        private DataSet myset;
 
        public Form9()
        {
            InitializeComponent();
            mycon = new SqlConnection("Data Source=LKJ\\SQLEXPRESS;Initial Catalog=school;Integrated Security=True");
            mycomd = new SqlCommand("select * from student",mycon);
            myada = new SqlDataAdapter();
            myada.SelectCommand = mycomd;
            mycbd = new SqlCommandBuilder(myada);
            myset = new DataSet();
            myada.TableMappings.Add("student","student");
            myada.TableMappings[0].ColumnMappings.Add("SNO""
学号"
);
            myada.TableMappings[0].ColumnMappings.Add("SNAME""
姓名"
);
            myada.TableMappings[0].ColumnMappings.Add("SEX""
性别"
);
            myada.TableMappings[0].ColumnMappings.Add("BIRTHDAY""
生日"
);
            myada.TableMappings[0].ColumnMappings.Add("CLASS""
班级"
);
           
        }
        /// <summary>
        /// 
数据修改
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //
将更改的数据更新到数据表里
                myada.Update(myset.Tables["student"].GetChanges());
                MessageBox.Show("
数据库修改成功"
,"
成功信息"
);
                //DataTable
接受更改,以便为下一次更改作准备
                myset.Tables["student"].AcceptChanges();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        /// <summary>
        /// 
初始化数据
        /// </summary>
        private void Form9_Load(object sender, EventArgs e)
        {
            try
            {
                myada.Fill(myset, "student");
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                mycon.Close();
            }
            dataGridView1.DataSource = myset.Tables["student"].DefaultView;
        }
        /// <summary>
        /// 
数据删除
        /// </summary>
        private void button2_Click(object sender, EventArgs e)
        {
if
 (MessageBox.Show("
确定要删除当前行数据?"
""MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                try
                {
                    //
DataTable中删除当前选中的行
                    myset.Tables[0].Rows[dataGridView1.CurrentRow.Index].Delete();
                    //
将更改的数据更新到数据表里
                    myada.Update(myset.Tables[0].GetChanges());
                    MessageBox.Show("
数据删除成功!"
);
                    //DataTable
接受更改,以便为下一次更改作准备
                    
myset.Tables[0].AcceptChanges();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            else
            {
                
//
取消对DataTable的更改
                myset.Tables[0].RejectChanges();
            }
        }
    }
}
 
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/216108,如需转载请自行联系原作者
你可能感兴趣的文章
在(CListView)列表视图中添加右键菜单的方法
查看>>
自定义服务器控件(处理不同的浏览器)
查看>>
解决IE6-IE7下li上下间距
查看>>
聚集索引更新后会不会马上重新排序
查看>>
幸运大抽奖
查看>>
Post请求
查看>>
Java排序算法(三):直接插入排序
查看>>
Python 列表 min() 方法
查看>>
HSF源码阅读
查看>>
【死磕jeesite源码】Jeesite配置定时任务
查看>>
程序8
查看>>
TBluetoothLEDevice.UpdateOnReconnect
查看>>
poj3517
查看>>
iphone http下载文件
查看>>
poj 1195:Mobile phones(二维树状数组,矩阵求和)
查看>>
java中的Static class
查看>>
json lib 2.4及其依赖包下载
查看>>
计算机中文核心期刊
查看>>
转:CEO, CFO, CIO, CTO, CSO是什么
查看>>
linux下vim更改注释颜色
查看>>