Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用c从数据库中读取数组字段?_C#_Arrays_Postgresql_Npgsql - Fatal编程技术网

C# 如何使用c从数据库中读取数组字段?

C# 如何使用c从数据库中读取数组字段?,c#,arrays,postgresql,npgsql,C#,Arrays,Postgresql,Npgsql,我正在使用C和postgresql。在数据库中,我有一个名为test的表,在这个表中,我有一个名为arr的列,它的数据类型是double[],我存储了多条记录,如{1,1,2,3,0,5,1,4}。现在,如何将这些记录返回到C程序并存储在列表中,例如list arr1=new list 谁能帮助我?以下是在C.NET中使用PostgreSQL的演练: 您需要给我们一些您遇到的具体问题,以便我们能够帮助解决问题。对于数组数据类型,您所要做的就是将结果转换为双精度数组: NpgsqlConnecti

我正在使用C和postgresql。在数据库中,我有一个名为test的表,在这个表中,我有一个名为arr的列,它的数据类型是double[],我存储了多条记录,如{1,1,2,3,0,5,1,4}。现在,如何将这些记录返回到C程序并存储在列表中,例如list arr1=new list


谁能帮助我?

以下是在C.NET中使用PostgreSQL的演练:


您需要给我们一些您遇到的具体问题,以便我们能够帮助解决问题。

对于数组数据类型,您所要做的就是将结果转换为双精度数组:

NpgsqlConnection conn = new NpgsqlConnection(connectionString);
conn.Open();

NpgsqlCommand cmd = new NpgsqlCommand("select arr from test", conn);
NpgsqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
    double[] myArray = (double[])reader.GetValue(0);
    // do your bidding
}

reader.Close();
-编辑日期:2021年2月18日-

从Npgsql 5.0开始,上述方法似乎大部分时间都有效,但文档指定了一种不同的方法来提取数组数据类型:

double[] myArray = reader.GetFieldValue<double[]>(0)

可能重复的您应该添加您的代码,然后我们可以帮助您,因为有十几种方法可以做到这一点,例如使用Linq,直接运行查询语句,从服务提供商处获取数据,等等。我正在使用此idea List arr1=新列表;ds.Tables[test].Rows{arr1.Addrow[arr].Selects=>Double.Parses.ToList;}中的foreach DataRow行,但出现错误!!错误2“System.Linq.Queryable.SelectSystem.Linq.IQueryable,System.Linq.Expressions.Expression”是一个“方法”,在给定的上下文C:\Users\PCLORD\Desktop\ShowImg\ShowImg\Default.aspx.cs 103 39 ShowImg中无效