我的C#之路-dataset、datatable的绑定、清空、添加、删除等操作
2014-08-22 11:03
609 查看
一、dataset和datatable
先说说dataset和datatable,dataset是datatable的一个集合,也就是说一个dataset中可以包含多个datatable,可以用ds.tables[0] ds.tables[1]... 来表示,所以我的习惯一般是建立DataSet ds = new DataSet(),再将多种数据源绑定到ds中,按照绑定的顺序,通过ds.tables[i] 来进行数据操作。1、绑定数据源的方式:
从数据库筛选后绑定:
DataSet ds = new DataSet(); string connect = "Database=test;server=localhost;User Id=root;Password=root;"; MySqlConnection conn = new MySqlConnection(connect); conn.Open(); string select_store_info = "select *from information order by 城市;"; //获取所有信息并存入store_information cmd = new MySqlCommand(select_store_info, conn); MySqlDataAdapter adapter = new MySqlDataAdapter(cmd); adapter.Fill(ds, "store_information");//自己命名一个在ds中的表名"store_information",用于储存本次的数据 conn.Close();
或者datatable中的绑定:
adapter.Fill(dt);//不用写表名
用这种方法有个问题,那就是如果想在中间插入一段代码,那后面ds.tables[i]的代码都要改。如果想要更好地区分数据源,可以通过两种方法
(1)ds.Tables.Clear(); 如果确定之前绑定的数据在后面用不到了,那么可以通过clear的方式,清空数据表并再次绑定新数据源,将上述相关代码改为:
DataSet ds = new DataSet(): adapter.Fill(ds, "store_information");
这样在后面调用时,都调用ds.tables[0]就行了
还有,clear方法有ds.clear()和ds.tables.clear(),前者清空的所有ds中数据,是dataset类中的方法,后者是tatatable类中的方法,如果写的是tables那就是清空的所有ds中数据,若写的是tables[i]那就是清空特定表,我之前使用时,用ds.clear()有清空不干净的情况发生,所以后来我一直用ds.tables.clear()。
(2)DataSet dsnew = new DataSet();
更方便的方法,再new一个形的dataset。
2、dataset常用操作
ds.tables.add("who");//在ds中加入一个datatable ds.tables.add(table1);//将table1加入到dataset集合中
remove和canremove
if (dt.Tables.CanRemove(table))//验证是否可被移除 dt.Tables.Remove(table);
或者:
if (dataSet.Tables.CanRemove(table)) dataSet.Tables.RemoveAt(0);还有contains、copyto、indexof等一些方法不介绍了,可以参看MSDN关于datatablecollection方法类中的说明
二、将dataset中的数据绑定到datagridview、combobox中
combobox:string selectstorename1 = "select name from store_arrange where 日期='" + day1.ToString("yyyy-MM-dd") + "' and 时间='" + comboBox1.Text + "';"; MySqlCommand cmd = new MySqlCommand(selectstorename1, conn); MySqlDataAdapter adapter = new MySqlDataAdapter(cmd); adapter.Fill(ds, "selecttime"); comboBox3.DisplayMember = "name";//DisplayMember是数据库操作时,select出来的列名 comboBox3.ValueMember = "";<span style="white-space: pre;"> </span>//可随意定义 adapter.Fill(ds, "selecttime"); comboBox3.DisplayMember = "name";//DisplayMember是数据库操作时,select出来的列名 comboBox3.DataSource = ds.Tables[0].DefaultView;
datagridview:
dataGridView1.DataSource = dt;或者
dataGridView1.DataSource = ds.tables[0];清空combobox和datagridview
comboBox1.Items.Clear();
下次写一下如何在datagridview中写出个日历
会包括datagridview对行、列的增删改,datetime相关
相关文章推荐
- C#对DataGridView中的数据进行添加、修改、删除操作c#操作datatable
- C#操作Xml全集示例篇,基本实现添加,删除,更新等操作
- 通过Dataset操作xml数据(添加,删除,修改)
- C#写的对系统用户和组操作的类(可以实现用户和组的添加、删除、修改)
- C#如何重DataSet的DataTable里面删除信息并更新到数据库
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)
- c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】
- C#中操作XML (节点添加,修改,删除完整版)
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)
- c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)
- C#对DataGridView进行添加、修改、删除数据操作
- 对DataGridView进行添加、修改、删除数据操作----C#
- C#(VB.NET)操作Windows自带的防火墙 之 添加/删除允许通过防火墙的例外程序