您的位置:首页 > 职场人生

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

2008-11-03 00:00 218 查看
在上一篇中,我们主要讲解了什么是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控件到到窗体上如图:



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对象的简单应用。在以后的续篇中继续讲解相关知识。相关前两篇的例子下载地址如下:
http://blog.51cto.com/attachment/200811/429692_1225641779.rar

附件:http://down.51cto.com/data/2351042
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息