在Postgresql和c#中,从数据库中读取行并将行值赋给字符串变量

本文关键字:变量 字符串 读取 Postgresql 数据库 | 更新日期: 2023-09-27 18:14:23

我有一个表在我的数据库由一列这是NewLanguage(varchar)。我插入新的语言表,我想选择表的行,并将它们分配给一个字符串变量分割','。我尽量选择代码中的语言。

public string  SelectLanguagesFromDatabase()
    {
        NpgsqlCommand COM = new NpgsqlCommand(null,dbConnection);
        COM.CommandText = "select * from '"Languages'"";

    }

我如何从数据库中选择罗伊并将它们分配给字符串变量?

In an example

如果Languages Column是

  NewLanguage
 C
 c++
 java

我想有一个字符串作为"C,c++,java"。我该怎么做呢?谢谢。

在Postgresql和c#中,从数据库中读取行并将行值赋给字符串变量

您可以使用string_agg将特定列中的所有值连接在逗号分隔的文本中,如下所示:

SELECT string_agg (NewLanguage,',') FROM "Languages"

改编自用户手册,使用Ilesh Patel的查询:

using System;
using System.Data;
using Npgsql;
public static class NpgsqlUserManual
{
  public static void Main(String[] args)
  {
    NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=joe;Password=secret;Database=joedata;");
    conn.Open();
    NpgsqlCommand command = new NpgsqlCommand("SELECT string_agg(NewLanguage,',') FROM Languages", conn);
    String results;
    try
    {
      results = (String)command.ExecuteScalar();
      Console.WriteLine("{0}", results);
    }

    finally
    {
      conn.Close();
    }
  }
}