C# DataSet 的使用
2015-08-14 21:26
501 查看
DataSet的使用:
1、SqlDataAdapter是数据适配器,就是一个连接数据库和数据集(DataSet)的桥梁作用,把对数据库操作的SQL语句得到的结果传到SqlDataAdapter对象中,在通过SqlDataAdapter.Fill
(DataSet)方法,将结果填充到DataSet中。
2、DataSet对象可以调用Tables属性对填充的结果进行访问。
3、在对返回的table表中的数据进行访问的时候是按照行进行访问的,获取行序列号之后再根据属性值进行访问相应的数据。
参考实例,具体使用参考SQLHelper
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=.;database=T_Test;Trusted_Connection=SSPI";
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in paramaters)
{
cmd.Parameters.Add(parameter);
}
//新建一个DataSet类对象
DataSet dataset = new DataSet();
//新建一个SqlDataAdapter类对象,创建数据适配器对象
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//将得到的结果填充到dataset中。具体是如何操作的由SqlDataAdapter类完成,无需多关心.
adapter.Fill(dataset);
//dataset可以有多个表,这里我们只用到了一个表,所以返回一个表。
DataTable table=dataset.Tables[0];
for (int i = 0; i < table.Rows.Count; i++)
{
DataRow row=table.Rows[i];
Console.WriteLine(row["Name"]);
}
// return dataset.Tables[0];
}
简单使用:
using (SqlConnection conn=new SqlConnection())
{
conn.ConnectionString = conStr;
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "select * from T_Tel";
//创建一个DataSet类对象,dataset
DataSet dataset = new DataSet();
//创建一个SqlDataAdapter实例,
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//将执行的结果填充到dataset
adapter.Fill(dataset);
//dataset相当于一个执行结果的集合,有个属性Tables,将执行的结果存入到表中
//dataset含有若干个DataTable
DataTable table = dataset.Tables[0];
//遍历DataTable的每一行,
for (int i = 0; i < table.Rows.Count; i++)
{//取得每一行的结果。
DataRow row=table.Rows[i];
//将每一行的每一列的结果取出
string name = Convert.ToString(row["Starttel"]);
MessageBox.Show(name);
}
}
}
更新dataset:
//SqlCommandBuilder自动生成SQL语句
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=.;database=T_Test;Trusted_Connection=SSPI";
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from T_Customer";
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
DataTable table = dataset.Tables[0];
DataRow row=table.Rows[0];
//此时所改的只是内存中dataset中的内容,数据库中不受影响,除非提交到数据库
//可以使用update进行数据的更新提交
row["Name"] = "SIDIFEN";
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Update(dataset);
}
}
1、SqlDataAdapter是数据适配器,就是一个连接数据库和数据集(DataSet)的桥梁作用,把对数据库操作的SQL语句得到的结果传到SqlDataAdapter对象中,在通过SqlDataAdapter.Fill
(DataSet)方法,将结果填充到DataSet中。
2、DataSet对象可以调用Tables属性对填充的结果进行访问。
3、在对返回的table表中的数据进行访问的时候是按照行进行访问的,获取行序列号之后再根据属性值进行访问相应的数据。
参考实例,具体使用参考SQLHelper
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=.;database=T_Test;Trusted_Connection=SSPI";
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in paramaters)
{
cmd.Parameters.Add(parameter);
}
//新建一个DataSet类对象
DataSet dataset = new DataSet();
//新建一个SqlDataAdapter类对象,创建数据适配器对象
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//将得到的结果填充到dataset中。具体是如何操作的由SqlDataAdapter类完成,无需多关心.
adapter.Fill(dataset);
//dataset可以有多个表,这里我们只用到了一个表,所以返回一个表。
DataTable table=dataset.Tables[0];
for (int i = 0; i < table.Rows.Count; i++)
{
DataRow row=table.Rows[i];
Console.WriteLine(row["Name"]);
}
// return dataset.Tables[0];
}
简单使用:
using (SqlConnection conn=new SqlConnection())
{
conn.ConnectionString = conStr;
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "select * from T_Tel";
//创建一个DataSet类对象,dataset
DataSet dataset = new DataSet();
//创建一个SqlDataAdapter实例,
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
//将执行的结果填充到dataset
adapter.Fill(dataset);
//dataset相当于一个执行结果的集合,有个属性Tables,将执行的结果存入到表中
//dataset含有若干个DataTable
DataTable table = dataset.Tables[0];
//遍历DataTable的每一行,
for (int i = 0; i < table.Rows.Count; i++)
{//取得每一行的结果。
DataRow row=table.Rows[i];
//将每一行的每一列的结果取出
string name = Convert.ToString(row["Starttel"]);
MessageBox.Show(name);
}
}
}
更新dataset:
//SqlCommandBuilder自动生成SQL语句
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "server=.;database=T_Test;Trusted_Connection=SSPI";
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from T_Customer";
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
DataTable table = dataset.Tables[0];
DataRow row=table.Rows[0];
//此时所改的只是内存中dataset中的内容,数据库中不受影响,除非提交到数据库
//可以使用update进行数据的更新提交
row["Name"] = "SIDIFEN";
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Update(dataset);
}
}
相关文章推荐
- C#抓取数据、正则表达式+线程池初步运用
- 快速上手之 C# 操作Directory类
- C# 通过串口发送短信
- 恶意程序敲诈者解析
- C# axWindowsMediaPlayer制作播放器
- C# DataGridView显示行号方法。
- 编写高质量代码改善C#程序的157个建议——建议24:迭代器应该是只读的
- C# odbc
- 数往知来C#之面向对象准备〈一〉
- 编写高质量代码改善C#程序的157个建议——建议23:避免将List<T>作为自定义集合类的基类
- 编写高质量代码改善C#程序的157个建议——建议22:确保集合的线程安全
- C#语法糖(Csharp Syntactic sugar)大汇总
- C# Enum,Int,String的互相转换 枚举转换
- c# Hmac-md5
- C#敏感关键词过滤代码
- C#整理
- C# in depth (第六章 实现迭代器的捷径)
- C# 语言和 .NET Framework 介绍
- C#关于log4net(Log For Net)
- c#异步调用和回调