C# 如何使用c从数据库中读取数组字段?
我正在使用C和postgresql。在数据库中,我有一个名为test的表,在这个表中,我有一个名为arr的列,它的数据类型是double[],我存储了多条记录,如{1,1,2,3,0,5,1,4}。现在,如何将这些记录返回到C程序并存储在列表中,例如list arr1=new listC# 如何使用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.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中无效