4-2 ADO.NET-查询和检索数据9

简介:

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

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

本实验目标是通过本案例您将学习了解到:
n DataGridView 的数据绑定技术;
n DataGridView 的更新和删除技术。
用户界面如图460所示:
4-60  DataGridview 基本的数据操作应用程序界面图
u 实验步骤(1):
VS.NET  2005中新建一个名为示例4的基于 Windows 的项目。将默认窗体重命名为 form9 . cs
u 实验步骤(2):
从工具箱之中拖拽一个 dataGridView 控件到 Form 窗体, ColumnHeadersHeightSizeMode 属性设置为“ AutoSize ”;另外还要向 Form 窗体下侧添加二个 Button 控件, text 属性分别设置为“更改”、“删除”。
u 实验步骤(3):
数据库的设计参见图461
4-61  数据库设计图
数据库为 school ,共有六个表,该应用程序中只使用了表 student 。具体字段设计情况请参见图479。数据表 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,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
|
28天前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
39 2
|
3月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
4月前
|
开发框架 JSON 前端开发
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
|
3月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
3月前
|
SQL Oracle 关系型数据库
.NET 开源快捷的数据库文档查询和生成工具
【8月更文挑战第1天】推荐几款.NET开源数据库文档工具:1. DBDocumentor,支持多类型数据库,快速生成详尽文档;2. SqlDoc,界面简洁,自定义内容与格式;3. DBInfo,强大查询功能,支持多种导出格式。这些工具有效提升文档管理效率与质量。
|
4月前
|
C#
效率提升利器:一个在线的.NET源码查询网站
效率提升利器:一个在线的.NET源码查询网站
|
6月前
|
存储 测试技术 计算机视觉
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
|
6月前
|
SQL 数据库
使用ADO.NET查询和操作数据
使用ADO.NET查询和操作数据
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
38 7

热门文章

最新文章