WinForm+ADO.net应用(二)+ 例子源码

在上一篇中,我们主要讲解了什么是ADO.NET 及其三个常用对象的用法,这一篇我们主要学习ADO.net中的新宠配适器对象及内存表对象。
目标:
DataAdapter 对象
DataSet 对象
DataTable 对象
DataAdapter对象:数据适配器是ADO.NET托管提供程序(用于在数据源和数据集之间通信的一组对象)的组成部分 ,适配器用于在数据源和数据集之间交换数据,
适配器对象在DataSet与源数据之间起到桥梁的作用。
DataAdapter对象的常用方法:
Update():从名为“Table”的DataTable为指定的DataSet中每个已插入、已更新或已删除的行调用相应的INSERT、UPDATE或DELETE语句。
Fill(): 在DataSet中添加或刷新行以匹配使用DataSet名称的数据源中的行,并创建一个名为“Table”的DataTable。
Dispose():释放由 DataAdapter 占用的资源。
DataSet 对象:DataSet(数据集)是ADO.NET结构的主要组件,属于System.Data命名空间。它是从数据源中检索到的数据在内存中的缓存。具有类似数据库的结构,如表、列、关系和约束。DataSet支持标准的查看、添加、移除及更新操作;而且这些操作并非只限于数据库数据。
DataTable 对象:DataTable对象表示了内存中的一个关系数据表,可以独立创建和使用,也可以由其他.NET Framework对象使用,最常见的情况是作为DataSet的成员使用。DataTable类是.NET Framework类库中System.Data命名空间中的成员。
关于 DataSet DataTable MSDN有很详细的资料,本文旨在让大家能实际的应用DataAdapter对象创建数据源,并呈现在窗体上。所以不做详细的讲解,在今后的文章中,我们详细的分析 DataSet DataTable 的使用。
例:
继续打开我们上一篇所使用的例子
1.在设计窗体时从工具箱拉一个dataGridView控件到到窗体上如图:
未命名-1
2.继续在Users类中增加方法,分别在窗体加载时读取数据与在点击查询时读取数据:
/// <summary>
        /// 查询数据,并填充到数据集当中
        /// </summary>
        /// <returns></returns>
        public DataTable DTable()
        {
            string strSql = "select * from Users";
            DataTable dt = new DataTable();//创建内存表对象,用来保存适配器对象从数据库中取得的数据
            SqlDataAdapter da = new SqlDataAdapter(strSql,Conn);//创建适配器对象,注意,我们使用的是SQL数据库,所以创建对象的类名为SqlDataAdapter,参数要求SQL语句与链接字符串,在这里不需要像SqlCommand一样打开和关闭数据库,因为配适器对象帮我们完成了这部分工作。
            da.Fill(dt);//用适配器对象的Fill()方法将查询出来的数据填充到内存表对象dt中
            return dt;//返回内存表对象
        }
        /// <summary>
        /// 跟据用户名查询数据,并填充到数据集当中
        /// </summary>
        /// <param name="name">参数要求用户名</param>
        /// <returns></returns>
        public DataTable DTable(string name)
        {
            string strSql = "select * from Users where Username like '%"+name+"%'";
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(strSql, Conn);
            da.Fill(dt);
            return dt;
        }
 
3.打开设计界面,在类中将Users类实例化为对象u如:Users u = new Users(),双击窗体标题栏,进入窗体加载事件所调用的方法。并写代码如下:
创建方法:
private void Gx()
       {
           dataGridView1.DataSource = u.DTable();//将数据源赋值给dataGridView对象的DataSource属性
           foreach (string str in u.List())//遍历所有的Users类中ListArray方法所返回的ArrayList的值
           {
               comboBox1.Items.Add(str);//将值添加到comboBox中
           }
       }
在窗体加载事件所调用的方法中调用Gx()
private void Form2_Load(object sender, EventArgs e)
        {
            Gx();
        }
4.打开设计界面,双击查询按钮,进入查询按钮的单击事件所调用的方法并写代码如下:
private void button4_Click(object sender, EventArgs e)
        {
            string name = comboBox1.Text;//读取comboBox1下拉列表中的值
            dataGridView1.DataSource = u.DTable(name);//把所取得的值当作参数传给Users类中的DTable方法,并返回DataTable对象。
        }
 
至此我们讲了DataAdapter 对象及DataTable对象的简单应用。在以后的续篇中继续讲解相关知识。相关前两篇的例子下载地址如下:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值