您的位置:首页 > 编程语言 > C#

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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: