处理MySQL和C#返回的数据的好方法是什么?

处理MySQL和C#返回的数据的好方法是什么?,c#,mysql,return-value,C#,Mysql,Return Value,只是一个简单的问题,因为我找到的大多数博客和教程都是关于MySQL和C#的基本元素的 我正在使用MySQL ADO连接器 我有一切设置,我可以从表中检索数据。但我想创建一种方法,为我简化事情。因此,我可以设置一个查询字符串(在方法或对象中)并调用一个函数,它将返回某种类型的数据对象 // For each row while(reader.Read()) { // For each column for(int i = 0; i < reader.FieldCount; i

只是一个简单的问题,因为我找到的大多数博客和教程都是关于MySQL和C#的基本元素的

我正在使用MySQL ADO连接器

我有一切设置,我可以从表中检索数据。但我想创建一种方法,为我简化事情。因此,我可以设置一个查询字符串(在方法或对象中)并调用一个函数,它将返回某种类型的数据对象

// For each row
while(reader.Read())
{
    // For each column
    for(int i = 0; i < reader.FieldCount; i++)
    {
        Console.Write(reader.GetName(i).ToString());
        Console.Write(reader.GetValue(i).ToString() + ",");
    }
    Console.Write("\n");
}
//每行
while(reader.Read())
{
//每列
对于(int i=0;i
这就是我现在拥有的。我也许可以把阅读器还给你。但每次我想循环一些数据时,都需要一个while循环中的for循环

想知道是否有更好的数据对象可以填充和返回?我也很喜欢这方面阅读材料的链接

顺便说一句,我正在学习C#所以可能有些事情我不是100%清楚。

为什么不使用,并返回一个标准

这样做的好处是,处理数据的代码可以移植到其他数据库后端。

为什么不使用,并返回一个标准


这样做的好处是,处理数据的代码可以移植到其他数据库后端。

您不应该将数据读取器到处传递。只要从数据读取器读取数据,就必须保持数据库连接处于打开状态,因此应该将所需的数据读入某个集合,以便尽早关闭数据库连接

您可以将数据读入
数据集
数据表
,也可以为对象创建类并直接填充。例如:

List<SomeCustomObject> data = new List<SomeCustomObject>();
while(reader.Read()) {
   int id = reader.GetInt32(0);
   string name = reader.GetString(1);
   data.Add(new SomeCustomObject(id, name);
}
列表数据=新列表();
while(reader.Read()){
int id=reader.GetInt32(0);
字符串名称=reader.GetString(1);
添加(新的SomeCustomObject(id、名称);
}

您不应将数据读取器传递给他人。只要您正在从数据读取器读取数据,就必须保持数据库连接处于打开状态,因此您应该将所需的数据读入某个集合,以便尽早关闭数据库连接

您可以将数据读入
数据集
数据表
,也可以为对象创建类并直接填充。例如:

List<SomeCustomObject> data = new List<SomeCustomObject>();
while(reader.Read()) {
   int id = reader.GetInt32(0);
   string name = reader.GetString(1);
   data.Add(new SomeCustomObject(id, name);
}
列表数据=新列表();
while(reader.Read()){
int id=reader.GetInt32(0);
字符串名称=reader.GetString(1);
添加(新的SomeCustomObject(id、名称);
}

我正在使用它,你能详细说明一下吗?我找到了这个关于数据集和数据适配器的论坛帖子:这篇帖子显示了这个过程。请看“myDA.Fill(myDS,dsUno”)-它根据命令的结果填充ADO.NET数据集。然后您可以使用它,因为它包含处理数据所需的所有信息,您可以关闭阅读器。我正在使用它,您可以详细说明一下吗?我找到了一篇关于数据集和数据适配器的论坛帖子:这篇帖子显示了过程。请看这行“myDA.Fill(myDS,“dsUno”);”-它根据命令的结果填充ADO.NET数据集。然后您可以使用它,因为它具有处理数据所需的所有信息,您可以关闭阅读器。回答很好:)你能链接到数据集版本的一个例子吗?因为我不熟悉它。最简单的方法是创建一个DataTable对象,并使用Load方法将数据从数据读取器读入其中。很好的答案:)您能否链接到数据集版本或显示数据集版本的示例。因为我不熟悉它。最简单的方法是创建一个DataTable对象,并使用Load方法将数据从数据读取器读入其中。