C#中数据库的读取数据、数据适配器以及数据集

在 C# 应用程序中,连接和操作数据库是非常常见的操作。本文将介绍 C# 中如何使用数据库适配器和数据集来读取和写入数据库中的数据。

一、读取数据

连接数据库之后,可以使用 MySqlCommand 类来执行 SQL 语句并返回查询结果。以下是一个示例代码:

// 创建 SqlCommand 对象,执行 SQL 语句
MySqlCommand command = new MySqlCommand("SELECT * FROM tablename", connection);

// 执行查询操作,并返回查询结果
// ExecuteReader()方法:数据读取器,读取数据记录
MySqlDataReader reader = command.ExecuteReader();
//ExecuteNonQuery()方法:数据更改器:更改数据库数据
MySqlDataReader reader = command.ExecuteNonQuery();
//ExecuteScalar()方法:返回第一行第一列数据 一般用于读取聚合函数返回值
MySqlDataReader reader = command.ExecuteScalar();

// 处理查询结果
while (reader.Read())
{
    string name = reader.GetString(0);
    int age = reader.GetInt32(1);
    // 处理每一行数据
}

// 关闭查询结果
reader.Close();

在上面的代码中,MySqlCommand 类用于创建 SQL 命令对象。command.ExecuteReader() 方法执行查询操作,并返回一个 MySqlDataReader 对象。MySqlDataReader 类用于处理查询结果,使用 reader.Read() 方法读取每一行数据。command.ExecuteNonQuery()方法一般用于更新,插入数据到数据库。

二、数据适配器(MySqlDataAdapter )与数据集(DataSet)

在 C# 中,还可以使用 MySqlDataAdapter 类的Fill方法来填充 DataSet 对象,并使用 MySqlCommandBuilder 类来自动生成 SQL 更新语句。

MySqlDataAdapter 类的四个属性:

1.SelectCommand:向数据库发送查询SQL语句

2.DeleteCommand :向数据库发送删除SQL语句

3.InsertCommand:向数据库发送插入SQL语句

4.UpdateCommand:向数据库发送更新SQL语句

示例代码:


MySqlCommand cmd = new MySqlCommand("SELECT * FROM mytable", conn);
// 创建DataAdapter对象
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;

// 创建DataSet对象
DataSet ds = new DataSet();

// 填充数据集
adapter.Fill(ds);

// 处理数据
foreach (DataRow row in ds.Tables[0].Rows)
{
    // 读取数据
    int id = (int)row["id"];
    string name = (string)row["name"];
    int age = (int)row["age"];
    // 处理数据...
}

在这个示例代码中,我们首先创建了一个MySqlCommand对象,表示要执行的SQL命令。然后创建了一个MySqlDataAdapter对象,并将执行的SQL命令赋值他的SelectCommand属性。接着我们创建了一个DataSet对象,表示数据集。然后,调用DataAdapter的Fill()方法将数据填充到DataSet对象中。最后,使用foreach循环读取DataSet对象中的数据,通过索引器获取指定列的数据。

需要注意的是,使用DataAdapter对象填充数据集时,会自动创建一个或多个DataTable对象。在这个示例代码中,我们只有一个表格,所以使用ds.Tables[0]获取第一个表格的引用。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值