如何使用C#在postgresql中存储2D数组?

时间:2016-07-15 06:18:45

标签: c# arrays postgresql

我希望在postgresql中保存2-dim数组,如下所示:int[,] arr = {{1, 2}, {3, 4}};

我正在使用以下sql statement,它对1-dim数组工作正常,但它不适用于2-dim数组。

try
{
    string sql1 = "INSERT INTO tbtest(col) VALUES (ARRAY[" + string.Join(", ", arr) + "])";

    dbcmd.CommandText = sql1;
    dbcmd.ExecuteNonQuery();
}
catch (NpgsqlException ex)
{
    if (ex.Data == null)
    {
        throw;
    }
    else
    {

    }
}

我该怎么做?

1 个答案:

答案 0 :(得分:0)

试试这个方法

 int[,] arr = { { 1, 2 }, { 3, 4 } };   
 var arrayOutput = JsonConvert.SerializeObject(arr);
 string query = "INSERT INTO tbtest(col) VALUES (ARRAY" + arrayOutput + ")";

输出

  

INSERT INTO tbtest(col)VALUES(ARRAY [[1,2],[3,4]])