我的数据库中有一个表,其中包含一列NewLanguage(varchar).I将新语言插入到表中,我希望选择表中的行并将它们分配给由',‘拆分的字符串变量。我尝试选择代码中的语言。
public string SelectLanguagesFromDatabase()
{
NpgsqlCommand COM = new NpgsqlCommand(null,dbConnection);
COM.CommandText = "select * from \"Languages\"";
}如何从数据库中选择roes,并将其赋值给string变量?
In an example如果Languages列是
NewLanguage
C
c++
java我想有一个字符串作为"C,c++,java“。我该怎么做呢?谢谢。
发布于 2014-07-23 15:46:34
您可以使用string_agg将特定列中的所有值连接到逗号分隔的文本中,如下所示:
SELECT string_agg (NewLanguage,',') FROM "Languages"发布于 2014-07-23 16:09:00
改编自user manual并使用Ilesh Patel's查询:
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();
}
}
}https://stackoverflow.com/questions/24904594
复制相似问题